Java 스트림 예시 모음

Minseol·2023년 4월 19일
0

코테 문제들을 풀면서 나중에 써볼만한 스트림 함수나 표현들이 보이면 여기다 꾸준히 쌓아두려고 한다.

스트림을 배워서 자주 써먹을거냐 하면 그건 아닌데, 그래도 확실히 편해보이는 것들만 가져다 쓰면 좋을 것 같다.

class Solution {
    public int[] solution(int[] numList, int n) {
        return Arrays.stream(numList)
                .boxed()
                .sorted((a, b) -> Math.abs(a - n) == Math.abs(b - n) ? b.compareTo(a) : Integer.compare(Math.abs(a - n), Math.abs(b - n)))
                .mapToInt(Integer::intValue)
                .toArray();
    }
}
class Caesar {
    public String caesar(String s, int _n) {
        return s.chars().map(c -> {
            int n = _n % 26;
            if (c >= 'a' && c <= 'z') {
                return 'a' + (c - 'a' + n) % 26;
            } else if (c >= 'A' && c <= 'Z') {
                return 'A' + (c - 'A' + n) % 26;
            } else {
                return c;
            }
        }).mapToObj(c -> String.valueOf((char)c))
        .reduce((a, b) -> a + b).orElse("");
    }

    public static void main(String[] args) {
        Caesar c = new Caesar();
        System.out.println("s는 'a B z', n은 4인 경우: " + c.caesar("a B z", 4));
    }
}
profile
귀여운 설이에양

0개의 댓글