문제 문제 풀이 수험생 1,2,3 번이 문제를 찍는 패턴을 가지고 답변과 비교하여 몇 개나 맞추는지 확인하고 많이 맞춘 사람들을 뽑아내는 문제이다. 나의 답안 public static int[] solution(int[] answers) { int[] answer = new int[4]; int max =0 ; int[] case1 = {1, 2, 3, 4, 5}; int[] case2 = {2, 1, 2, 3, 2, 4, 2, 5}; int[] case3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; for (int i = 0; i < answers.length; i++) { if (case1[i % case1.length] == answers[i]) { answer[1]++; } if ..
문제 문제 해설 종류가 다른 포켓몬의 수와 배열의 길이 / 2 값을 가지고 계산을 하면 되는 문제이다. 나의 답안 public static int solution(int[] nums) { HashSet set = new HashSet(); for (int i : nums) set.add(i); return set.size() > nums.length / 2 ? nums.length / 2 : set.size(); }
문제 문제 풀이 LocalDate 클래스를 좀 이해하고 있다면 쉽게 풀 수 있는 문제이다. LocalDate.of 함수를 이용하여 원하는 년,월,일의 값을 가져오고 거기서 date 값만 별도로 가져와 반환하면 된다. 나의 답안 public static String solution(int a, int b) { String[] day = {"SUN","MON","TUE","WED","THU","FRI","SAT"}; LocalDate localDate = LocalDate.of(2016, a, b); int date = localDate.getDayOfWeek().getValue(); return day[date % 7]; }
문제 문제 풀이 두 개의 값을 더해서 결과값에 존재하는지 여부를 따지면서 입력을 하고 반환하면 되는 문제이다. 나의 답안 문제에서 자료구조를 arraylist를 사용하였는데 set을 사용하면 좀 더 간단하다. public static int[] solution(int[] numbers) { ArrayList answer = new ArrayList(); for (int i = 0; i < numbers.length-1; i++) { for (int j = i+1; j < numbers.length; j++) { int sum = numbers[i] + numbers[j]; if (!answer.contains(sum)) answer.add(sum); } } return answer.stream().sor..
문제 문제 풀이 문제 자체는 간단한 문제이다 array에서 값을 command에 맞게 복사해서 정렬한 후, 원하는 인덱스 값만 따로 빼와서 결과로 반환을 하면 되는 문제이다 나의 답안 public static int[] solution(int[] array, int[][] commands) { ArrayList answer = new ArrayList(); List collect = Arrays.stream(array).boxed().collect(Collectors.toList()); for (int[] cmdArr : commands) { int[] a = new int[cmdArr[1] - cmdArr[0] + 1]; int index = 0; for (int i = cmdArr[0] -1 ; i ..