수박수박수박수박수박수?

문제

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

제한조건

  • n은 길이 10,000이하인 자연수입니다.

입출력 예


n return
3 수박수
4 수박수박

풀이방향

  • 수박을 반복하는 문자열을 만들어서 리턴하면 된다.

문제풀이

subak.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function subak(n) {
let answer = '';
let str = "수박";
for (let i = 0; i < n; i++) {
if (i % 2 === 0) {
answer += str.slice(0, 1);
} else {
answer += str.slice(1, 2);
}
}
return answer;
}

export { subak };
subak.test.js
1
2
3
4
5
6
7
8
9
10
11
import { subak } from "../src/subak";

describe("subak", () => {
it("should return 수박수 for 3", () => {
expect(subak(3)).toBe("수박수");
});

it("should return 수박수박 for 4", () => {
expect(subak(4)).toBe("수박수박");
});
});

문제출처

  • 프로그래머스

다른 풀이

1
2
3
const waterMelon = n => {
return '수박'.repeat(n/2) + (n%2 === 1 ? '수' : '');
}