문제
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
- 제한 조건
n은 길이 10,000이하인 자연수입니다.
나의 풀이
function solution(n) {
let answer = "";
for(let i = 1; i <= n; i++) {
if(i%2 === 0) {
answer += "박"
} else {
answer += "수"
}
}
return answer;
}
사실 첫 번째 오답은 아예 엉망이었다(...)
"수박"을 하나로 묶어서 출력하려고 했더니 너무 복잡해졌기 때문이다.
힌트를 얻어 위 코드를 재작성했지만, }
를 빼먹고 return answer
을 한 줄 위에 쓰는 등의 실수가 있어 에러가 떴다.
겨우 찾아내서 고친 코드.
하지만 해답을 보니 repeat
을 이용해서 훨씬 간단하게 작성할 수 있었다.
해답
const waterMelon = n => {
return '수박'.repeat(n/2) + (n%2 === 1 ? '수' : '');
}
str.repeat(n)
문자열 n번 반복
'Coding test' 카테고리의 다른 글
[프로그래머스] 두 정수 사이의 합 (Level 1) (0) | 2022.04.02 |
---|---|
[프로그래머스] 나누어 떨어지는 숫자 배열 (Level 1) (0) | 2022.04.02 |
[프로그래머스] 같은 숫자는 싫어 (Level 1) (0) | 2022.04.02 |
[프로그래머스] 완주하지 못한 선수 (Level 1) (0) | 2022.03.23 |
[프로그래머스] 짝수와 홀수 (Level 1) (0) | 2022.03.22 |