문제 문제 풀이 name과 yearing 배열의 길이는 같다 그러므로 1 대 1 매칭하여 이름에 상응하는 점수를 HashMap에 담아주어 photo에 들어 있는 값이 map에 존재하면 그 점수를 더해주고 그 결과를 결과 배열에 담아주면 되는 문제이다. 나의 답안 public static int[] solution(String[] name, int[] yearning, String[][] photo) { int[] answer = new int[photo.length]; HashMap score = new HashMap(); for (int i = 0; i < name.length; i++) { score.put(name[i], yearning[i]); } int idx = 0; for (int i = 0..
문제 문제 풀이 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..
문제 문제 풀이 매달이 28일로 고정이 되어 있는 문제로 년, 월, 일을 일 수로 변환하고 그 변환한 값과 약정기간을 비교하여 약정기간을 넘었을 때 결과로 반환하면 되는 방식으로 처리 하였음. 나의 답안 public static int[] solution(String today, String[] terms, String[] privacies) { ArrayList list = new ArrayList(); Map termsMap = new HashMap(); String[] todayArr = today.split("[.]"); int year = Integer.parseInt(todayArr[0]); int month = Integer.parseInt(todayArr[1]); int day = Inte..
문제 문제 풀이 keymap 배열에서 입력된 값중 하나가 존재 할 때 가장 가까운 인덱스 값들을 더해서 결과 배열에 담아줘야하는 문제이다. for문을 여러번 사용해야 하는 문제로 중간에 논리적 정리가 복잡해지면 이상한 값들을 볼 수 있는 문제이다. 나의 답안 public static int[] solution(String[] keymap, String[] targets) { int[] answer = new int[targets.length]; for (int i = 0; i < targets.length; i++) { int sum = 0; for (int j = 0; j < targets[i].length(); j++) { char tc = targets[i].charAt(j); int min = I..