728x90
프로그래머스 : 수박수박수박
n번 만큼 반복되는 문자열을 출력하는 문제입니다.
문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면
됩니다.
제한사항
n은 길이 10,000이하인 자연수입니다.
입출력 예
n | 결과 |
---|---|
3 | "수박수" |
4 | "수박수박" |
1. 해설
소스보기
function solution(n) {
let answer = "";
for(let i=1; i<=n; i++){
i%2 == 1 ? answer +="수" : answer +="박";
}
return answer;
}
반복문을 통해 홀수일 시 "수"를, 짝수일 시 "박"을 반환하도록 합니다.
홀수/짝수는 i값을 2로 나눴을 때 몫이 1이면 홀수, 0이면 짝수가 됩니다.
2. 다른 풀이
소스보기
function solution(n) {
let answer = "수박";
return answer.repeat(5000).slice(0, n);
}
반복문을 사용하지 않고 repeat( ) 메서드를 사용해 문자열이 5000번 반복되게 하고 slice로 n번째 문자열까지 반환하도록 하는 방식입니다.
이 방식이 훨씬 코드가 간단하고 더 속도가 빠르기에 추천되는 방식입니다.
※ repeat(n) 메서드
String.repeat(n) = 문자열을 n번 추가해서 반환합니다. 0일 시 아무것도 반환하지 않습니다.
댓글