문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120878 제한 사항 입출력 예 풀이 import java.util.ArrayList; class Solution { public int solution(int a, int b) { ArrayList resultA = new ArrayList(); ArrayList resultB = new ArrayList(); int i = 2; while (a != 1) { if (a % i == 0) { resultA.add(i); a /= i; } else i++; } i = 2; while (b != 1) { if (b % i == 0) { resultB.add(i); b /= i; } else ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120871 제한 사항 입출력 예 풀이 class Solution { public int solution(int n) { int answer = 0; for (int i = 0; i < n; i++) { do { answer++; } while (answer % 3 == 0 || String.valueOf(answer).contains("3")); } return answer; } } 후기 do~while 문은 자바 문제를 풀면서 처음 써본 것 같다... 사실 지금까지 이걸 쓸 필요가 있을지 의문이 들었는데 정말 사용하는 날이 오긴하는구나ㅎㅎ;;
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/181851 제한 사항 입출력 예 풀이 import java.util.stream.IntStream; class Solution { public int solution(int[] rank, boolean[] attendance) { int[] answer = IntStream.range(0, rank.length) .filter(i -> attendance[i]) .boxed() .sorted((i, j) -> rank[i] - rank[j]) .limit(3) .mapToInt(i -> i) .toArray(); return 10000 * answer[0] + 100 * answer[1] ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120880 제한 사항 입출력 예 풀이 import java.util.Comparator; import java.util.stream.IntStream; class Solution { public int[] solution(int[] numlist, int n) { return IntStream.range(0, numlist.length).boxed() .sorted(Comparator.comparing((Integer i) -> Math.abs(n - numlist[i])) .thenComparing((Integer i, Integer j) -> numlist[j] - numlist[i])..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120921 제한 사항 입출력 예 풀이 class Solution { public int solution(String A, String B) { StringBuilder result = new StringBuilder(); result.append(A.toCharArray()).append(A.toCharArray()); for (int answer = 0, i = result.length() - 1; i >= A.length(); answer++, i--) { if (result.substring(i - (A.length() - 1), i + 1).toString().equals(B)) r..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/181921 제한 사항 입출력 예 풀이 import java.util.ArrayList; class Solution { ArrayList result = new ArrayList(); public int[] solution(int l, int r) { doDfs(5, l, r); return result.size() == 0 ? new int[] { -1 } : result.stream().sorted().mapToInt(i -> i).toArray(); } private void doDfs(int num, int l, int r) { if (num = l) result.add(num); d..