문제 문제 풀이 덱 자료구조를 활용하는 방식으로 접근하였음. 덱이 비어 있으면 무조건 자료를 추가하고 peekLast() 함수를 이용하여 다음 들어올 값과 같다면 덱에서 자료를 빼내는 방식으로 처리함. 나의 답안 public static int solution(String s) { Deque deque = new LinkedList(); for (char c : s.toCharArray()){ if (!deque.isEmpty() && deque.peekLast() == c){ deque.pollLast(); continue; } deque.offer(c); } return deque.isEmpty() ? 1 : 0; }
문제 문제풀이 기본적으로 피보나치 수를 재귀함수로 구현하면 쉽게 구현을 할 수 있는 문제이긴 하나 n 값이 일정 범위 이상 커지게 되면 그 값은 int값을 초과 하기 때문에 1234567로 나누어 1234567보다 작은 수의 결과 값을 받도록 하여야 한다. 나의 답안 public static int solution(int n) { int[] fibonacci = new int[n + 1]; for (int i = 0; i < fibonacci.length; i++) { if (i == 0) fibonacci[i] = i; else if (i == 1) fibonacci[i] = i; else { fibonacci[i] = fibonacci[i - 1] % 1234567 + fibonacci[i - 2] ..
문제 문제 풀이 2진수로 변환을 하였을 때 1의 수량이 같은 다음 수를 찾아야 하는 문제이다. n 다음수를 반복문으로 돌리면서 2진수 변환후 1개수를 체크하는 방식으로 처리하였음. 나의 답안 public static int solution(int n) { int answer = 0; int target = 0; for (int i = n; i
문제 문제 풀이 park 일차원 배열을 2차원 배열로 변경을 하고 start 위치를 cur로 입력하고 시작. route 값에 있는 방향가 움직임 크기를 가지고 그 값이 배열의 크기를 초과하거나 x가 있는 값이 있는곳을 지날 때 다음 반복문을 시행하도록 하였음. 나의 답안 public static int[] solution(String[] park, String[] routes) { int width = park[0].length(); int height = park.length; int[] cur = {}; String[][] newPark = new String[height][width]; for (int i = 0; i < park.length; i++) { for (int j = 0; j < par..
문제 문제풀이 answer은 사이즈가 4인 배열을 반환해야 한다. 그리고 해당 문제를 보면 각 좌표들 마다 특징들이 있다. answer[0] : # 이 있는 wallpaper 가장 작은 index 넘버 answer[1] : # 있는 wallpaper 문자열에서 #의 index 넘버 answer[2] : # 이 있는 wallpaper 가장 큰 index 넘버 answer[3] : # 있는 wallpaper 문자열에서 #의 last index 넘버 위의 조건만 맞출 수 있는 코드를 쓴다면 간단하게 답을 낼 수 있을 것이다. 나의 답안 public static int[] solution(String[] wallpaper) { int size = wallpaper[0].length(); int[] drag = ..
문제 문제 풀이 유저가 신고를 한 아이디를 가지고 몇 번 신고를 했는지 체크하는 문제이다. 한 유저가 한 아이디를 여러번 신고하는 문제를 set 자료구조를 사용하여 처리 하였으며, 그렇게 모인 신고리스트를 map 자료구조로 카운팅하였음. 카운팅 된 수가 k가 될 때 ban이 되게 하였고 그 ban이 된 리스트를 가지고 유저가 신고한 사람이 밴을 당하였는지 다시 카운팅하여 결과 배열에 담았다. 나의 답안 public static int[] solution(String[] id_list, String[] report, int k) { int[] answer = new int[id_list.length]; Map reportMap = new HashMap(); ArrayList banList = new Arr..