목록인프런 (70)
개발자는 기록이 답이다
3. 크레인 인형뽑기(카카오) 예시 입력 1 5 0 0 0 0 0 0 0 1 0 3 0 2 5 0 1 4 2 4 4 2 3 5 1 3 1 8 1 5 3 5 1 2 1 4 예시 출력 1 4 크레인 인형뽑기는 카카오 기출문제이다. 스택을 사용해서 푸는데, 크레인이 움직인 위치를 하나씩 처리해서 인형이 몇개가 터졌는지 개수를 구하면된다 내가 푼 풀이(Time: 198ms Memory: 30MB) import java.util.Scanner; import java.util.Stack; public class Main { public int solution(int n, int[][] board, int m, int[] moves) { int cnt = 0; Stack stack = new Stack(); for ..
2. 괄호문자제거 예시 입력 1 (A(BC)D)EF(G(H)(IJ)K)LM(N) 예시 출력 1 EFLM 내가 푼 풀이(Time: 167ms Memory: 27MB) 나는 여는 괄호 만나서 pop해줄때 peek()함수를 사용해서 상단에 있는걸 체크한다음에 pop해주고 while문 나와서 남은 여는 괄호를 빼내기 위해 한번 더 pop를 했는데, 아예 pop함수 자체가 빼낸걸 리턴한다고 한다. 그리고 stack에서도 get(int idx)함수로 탐색한걸 하나씩 출력할 수 있다고 한다. import java.util.Scanner; import java.util.Stack; public class Main { public String solution(String str) { StringBuilder sb = n..
1. 올바른 괄호 예시 입력 1 (()(()))(() 예시 출력 1 NO 강의 풀이(Time: 167ms Memory: 27MB) 중괄호든 대괄호든 괄호 문제는 십중팔구 Stack으로 풀어야 한다. )(()) // 닫는 괄호가 더 많을때 예외처리 필요 )()( // 닫는 괄호 여는 괄호 개수가 똑같아도 )(는 올바른괄호가 아니기 때문에 예외처리 필요 (()() // 여는 괄호가 더 많을때 예외처리 import java.util.Scanner; import java.util.Stack; public class Main { public String solution(String str) { String answer = "YES"; Stack stack = new Stack(); for (Character x ..
5. K번째 큰 수 예시 입력 1 10 3 13 15 34 23 45 65 33 11 26 42 예시 출력 1 143 내가 푼 틀린 풀이 일단 문제를 제대로 이해 못했다. 나는 입력받은 정수배열을 내림차순해서 가장 큰 수 3개를 더하면 되는 줄 알았는데, 그게 아니라 각 정수배열에 있는 값들을 3개 뽑아서 합한 것 들을 내림차순해서 k번째 수에있는 걸 고르는 거였다. import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Scanner; public class Main { public int solution(int n , int k, int[] arr) { int answer = ..