문제
길이가 n이고, "수박수박수박수...." 와 같은
패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요.
예를들어 n이 4이면
"수박수박"을 리턴하고
3이라면 "수박수"를 리턴하면 됩니다.
해결
const solution = (n) =>
Array
.from({length: n}, (_, i) => i % 2 ? '박' : '수')
.join("")
배열을 n의 길이만큼 만들고 홀수일 경우 '박' , 짝수일 경우 '수' 를 붙이게 하였다.
그러고 join 메서드로 배열을 합쳐주니 해결되었다.
join에서 , 쉼표도 함께 나오는 문제가 있었다.
안에 "" 큰따옴표를 붙여주니 사라졌다.
다른 사람의 풀이
var waterMelon = n =>'수박'.repeat(n/2) + (n%2 === 1 ? '수' : '');
n의 길이를 2로 나누어서
repeat하고
만약 홀수라서 몫이 1이 남는다면
'수'를 붙여줘라
라고 코드를 작성한 것 같아 보인다.
repeat 메서드는 사용을 안했었는데
이 기회에 배워가야겠다.
'코딩테스트' 카테고리의 다른 글
[코딩테스트] 약수의 개수와 덧셈 (0) | 2023.12.22 |
---|---|
[코딩테스트] 가운데 글자 가져오기 (0) | 2023.12.14 |
[코딩테스트] 제일 작은 수 제거하기 (0) | 2023.12.13 |
[코딩테스트] 없는 숫자 더하기 (0) | 2023.12.12 |
[코딩테스트] 핸드폰 번호 가리기 (1) | 2023.12.07 |