길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요.
예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
• n은 길이 10,000이하인 자연수입니다.
n | return |
---|---|
3 | "수박수" |
4 | "수박수박" |
class Solution {
public String solution(int n) {
String answer = "";
for(int i=0; i<n; i++){
answer += (i%2 == 0)? "수":"박";
}
return answer;
}
}
class Solution {
public String solution(int n) {
return IntStream.rangeClosed(1, n)
.mapToObj(i -> i%2 != 0? "수":"박")
.collect(Collectors.joining());
}
}
rangeClosed()
메서드는 종료범위까지 포함함.mapToObj()
메서드로 삼항연산자를 사용하여 i의 값을 결정.joining()
메서드로반복문을 사용하여 값을 구할 일이 있으면 범위를 먼저 보고 for문을 사용할 지,
스트림을 사용할 지 정하면 좋을 것 같다. ~.~
이번 문제에서는 범위에 해당하는 자연수 n이 10,000이하인데,
그렇다는건 문자열의 길이가 10,000자까지도 가능하다는 것...!!!!
스트림을 쓰는것이 훨씬 낫겠다라는 생각이 들었는데 찐이였다ㅎ_ㅎ~~~
그래도 한동안은 for문도 써보고 스트림도 써보고 이것저것 써봐야지ㅎㅎㅋㅋ