728x90 개발일기/알고리즘12 [프로그래머스] 뒤에 있는 큰 수 찾기 - 자바 다른 사람들과 마찬가지로 for문 2개를 사용했더니 뒤에 4개는 시간초과로 실패ㅜ 문제의 핵심은 stack으로 접근..! numbers 배열의 뒤에서부터 접근하여 stack에 쌓고 해당 수와 비교하여 삭제하고 반복하면 된다. stack은 후입선출 방식으로 한쪽 끝에서만 데이터를 삽입하고 삭제 → 즉 뒤의 숫자들의 가까운 순으로 비교할 수 있음 peek() 최근에 추가된 맨 뒤에 있는 데이터를 반환 pop() 최근에 추가된 맨 뒤에 있는 데이터를 삭제 push() 데이터 추가 예시 1 numbers = [2, 3, 3, 5] answer = [ , , , ] stack = [ ] index = 3 numbers = [2, 3, 3, 5] stack이 비어있는지 확인(비어있음) → answer의 해당 배열에.. 2023. 7. 1. [프로그래머스] 귤 고르기 - 자바 크기가 여러개인 귤 중 k개 만큼의 귤을 골라야 하는데 크기가 서로 다른 종류의 수를 최소로 하고 싶다는 문제 처음에는 무슨 말인가.... 했는데 예시를 보면 이해가 잘 된다. k = 6 tangerine = [1, 3, 2, 5, 4, 5, 2, 3] 표로 정리해 보면 크기 개수 1 1 2 2 3 2 4 1 5 2 이 중 6개를 고르려면 개수가 2개인 2, 3, 5 크기를 고르면 될 것이다. 그래서 답이 3인 것 이것은 크기 보다 개수가 중요한 것~! 그래서 우선은 개수를 알기 위해 크기별 개수를 먼저 구해주었다. 로 저장할 HashMap을 만들어 준 후 tangerine 배열에서 가져온 귤 크기를 key로 검색한 value를 +1 해서 저장 (물론 없을 수도 있으니 없으면 0으로 검색) HashMap.. 2023. 6. 30. 프로그래머스 깃허브로 자동 커밋 크롬 확장 프로그램 설치 https://bit.ly/3XR66UE 백준허브(BaekjoonHub) Automatically integrate your BOJ submissions to GitHub chrome.google.com 깃허브 연동 Authenticate 버튼을 클릭하여 깃허브 연동 레파지토리를 생성 프로그래머스에 깃허브로 로그인 후 문제를 풀면 자동으로 푸시된다! 참고 사이트 : https://oliviakim.tistory.com/34 2023. 5. 17. [Java] 나만의 프로그래머스 정리 알고리즘을 처음 풀어보았는데 수학과 비슷한 부분들이 많아서 재미있었다. 마치 수학 문제를 푸는것 같은 느낌... 수학도 공식이 필요한것 처럼 알고리즘을 푸는데도 여러가지 필요한 부분이 있었다. 그 부분을 정리해볼 예정이다! 별 찍기 문제 for문을 돌려도 되지만 .repeat()으로 편하게 표현 가능 for문일 때 int a = 5, b = 3; for (int i = 0; i < b; i++){ for (int j = 0; j < a; j++){ System.out.print("*"); } System.out.println(""); } 이렇게 표현 가능 int a = 5, b = 3; for (int i = 0; i < b; i++) System.out.println(("*").repeat(a)); i.. 2023. 2. 18. 이전 1 2 3 다음 728x90