# 문제 원문
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건
- n은 길이 10,000이하인 자연수입니다.
# 문제 풀이
수박수~ 입력 받은 n은 만큼의 길이를 가진 수박 문자열을 만들면 되는 간단한 문제이다. repeat나 padEnd 같은 문자열 내장 메서드들로 간단히 풀 수 있는 문제. 나는 심심해서 배열로 만들고 reduce로 풀었다. (비효율적)
# 솔루션 플로우
1. 입력 받은 n만큼의 "수박"이 반복 되는 문자열을 만들어준다.
2. 구해진 result를 반환한다.
1. 무지성 reduce 풀이
function solution(n) {
return new Array(n).fill(true)
.reduce((result, _, idx) => idx % 2 ? result + "박" : result + "수", '');
}
1. API를 활용한 풀이
function solution(n) {
return '수박'.repeat(n / 2) + (n % 2 === 1 ? '수' : '');
}
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스][LEVEL1] 이상한 문자 만들기 (0) | 2021.08.20 |
---|---|
[프로그래머스][LEVEL1] 핸드폰 번호 가리기 (0) | 2021.08.19 |
[프로그래머스][LEVEL1] 두 정수 사이의 합 (0) | 2021.08.19 |
[프로그래머스][LEVEL1] 정수 내림차순으로 배치하기 (0) | 2021.08.19 |
[프로그래머스][LEVEL1] 자릿수 더하기 (0) | 2021.08.19 |