DEV

[javaStudy] 수박수박수박수박수박수?

찻잔속청개구리 2023. 12. 17. 21:13
반응형

인증사진(2023-12-17)

문제

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

"수박수" //n=3
"수박수박" //n=4

 

추가공부

 

n의 범위가 커지면 for문 말고, 스트림을 사용하는 방법이 있다.

import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class Solution {
    public String solution(int n) {
        return IntStream.range(0, n)
                .mapToObj(i -> (i % 2 == 0) ? "수" : "박")
                .collect(Collectors.joining());
    }

    public static void main(String[] args) {
        Solution solution = new Solution();
        System.out.println(solution.solution(5));  // 예시: "수박수박수"
    }
}

먼저 범위를 생성하고 각 인덱스에 대해 "수" 또는 "박"을 매핑하는 스트림을 생성하고(mapToObj), Collectors.joining() 메서드를 사용하여 이 문자열들을 결합하면 된다.

반응형