| 제출
1. 나의 풀이
function solution(n) {
let answer = [];
for (let i = 0; i < n; i++) {
if (i % 2 === 0) {
answer.push("수");
} else {
answer.push("박");
}
}
return answer.join("");
}
2. 다른 사람의 풀이 참고
function solution(n) {
return "수박".repeat(n / 2 + 1).slice(0, n);
}
| 풀이과정
입력받은 n이 홀수인지 짝수인지에 따라 빈 배열에 "수", "박"을 넣어주고, join 메서드를 사용해서 모든 배열 요소를 합친 값을 리턴해주었다.
다른 사람의 풀이를 보니 더 간단하게 풀 수 있었다. "수박" 을 ( n / 2 + 1 ) 만큼 반복한 문자열에서 0부터 n까지 잘라주면 원하는 결괏값을 얻을 수 있다.
| 개념
String.prototype.repeat()
- 문자열을 지정한 횟수만큼 반복해 새로운 문자열을 반환한다.
- 반복 횟수는 0보다 큰 양의 정수이며, 최대 문자열 크기를 넘으면 RangeError 발생
Array.prototype.slice()
- 지정한 시작 인덱스부터 끝 인덱스를 제외하고 추출한 배열에 대한 얕은 복사본을 새로운 배열 객체로 반환한다.
- String 및 Number 객체가 아닌 문자열과 숫자의 경우 문자열과 숫자를 새 배열에 복사하고 slice 메서드가 실행된다.
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 서울에서 김서방 찾기 - level 1 (javascript) (0) | 2022.08.01 |
---|---|
[프로그래머스] 소수 찾기 - level 1 (javascript) (0) | 2022.08.01 |
[프로그래머스] 문자열을 정수로 바꾸기 - level 1 (javascript) (0) | 2022.08.01 |
[프로그래머스] 시저 암호 - level 1 (javascript) (0) | 2022.08.01 |
[프로그래머스] 약수의 합 - level 1 (javascript) (0) | 2022.07.23 |