문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/181931 제한 사항 입출력 예 풀이import java.util.stream.IntStream;class Solution { public int solution(int a, int d, boolean[] included) { return IntStream.range(0, included.length) .map(i -> included[i] ? a + d * i : 0) .sum(); }} 후기딱히 어려울건 없었던 문제IntStream이기에 sum()으로 바로 합을 반환할 수 있다.
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/181942 제한 사항 입출력 예 풀이import java.util.stream.IntStream;class Solution { public String solution(String str1, String str2) { return IntStream.range(0, str1.length()) .mapToObj(i -> str1.substring(i, i + 1) + str2.substring(i, i + 1)) .reduce((s1, s2) -> s1 + s2) .get(); }} 후기0단계는 그냥..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/181923 제한 사항 입출력 예 풀이 import java.util.Arrays; class Solution { public int[] solution(int[] arr, int[][] queries) { return Arrays.stream(queries) .mapToInt(q -> Arrays.stream(Arrays.copyOfRange(arr, q[0], q[1] + 1)) .filter(i -> i > q[2]) .min() .orElse(-1) ).toArray(); } } 후기 문제에 딱히 함정은 없어서 그냥 풀면된다. 2차원 배열을 사용해서 flatMap을 사용해야하나 싶었는..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/181858 제한 사항 입출력 예 풀이 import java.util.Arrays; import java.util.stream.Stream; class Solution { public int[] solution(int[] arr, int k) { return Stream.of(Arrays.stream(arr).distinct().limit(k).toArray(), Arrays.stream("-1s".repeat(k).split("s")).mapToInt(Integer::parseInt).toArray() ) .flatMapToInt(Arrays::stream) .limit(k) .toArra..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/181830 제한 사항 입출력 예 풀이 import java.util.Arrays; import java.util.stream.IntStream; class Solution { public int[][] solution(int[][] arr) { return IntStream.range(0, Math.max(arr.length, arr[0].length)) .mapToObj(i -> { if (arr[0].length arr.length) {..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/181836 제한 사항 입출력 예 풀이 import java.util.Arrays; class Solution { public String[] solution(String[] picture, int k) { return Arrays.stream(picture) .map(p -> { String[] result = new String[k]; p = p.replaceAll("\\.", ".".repeat(k)) .replaceAll("x", "x".repeat(k)); for (int i = 0; i < k; i++) result[i] = p; return result; }) .flatMap(A..