whatisthis?
[프로그래머스] 수박수박수박수박수박수? - JavaScript 본문
javascript
문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건
- n은 길이 10,000이하인 자연수입니다.
예시
입출력 예
n return
3 "수박수"
4 "수박수박"
내가 작성한 코드
function solution(n) {
var answer = '';
for (i = 0; i < n; i++) {
const letter = i % 2 === 0 ? '수' : '박';
answer += letter;
}
return answer;
}
실행 결과
테스트 1 〉 통과 (0.15ms, 30.3MB)
테스트 2 〉 통과 (0.25ms, 30.3MB)
테스트 3 〉 통과 (0.19ms, 30.2MB)
테스트 4 〉 통과 (0.31ms, 30.1MB)
테스트 5 〉 통과 (0.25ms, 30MB)
테스트 6 〉 통과 (0.04ms, 30MB)
테스트 7 〉 통과 (0.08ms, 30MB)
테스트 8 〉 통과 (0.05ms, 30.2MB)
테스트 9 〉 통과 (0.06ms, 30.1MB)
테스트 10 〉 통과 (0.12ms, 29.8MB)
테스트 11 〉 통과 (0.06ms, 30.1MB)
테스트 12 〉 통과 (0.05ms, 30.1MB)
테스트 13 〉 통과 (0.06ms, 29.9MB)
테스트 14 〉 통과 (0.05ms, 30.2MB)
테스트 15 〉 통과 (3.01ms, 32.7MB)
테스트 16 〉 통과 (0.04ms, 29.9MB)
리팩토링
function solution(n) {
// 짝수면 수박 * n/2
// 홀수면 수박 * n/2 + 수
return '수박'.repeat(n/2) + (n % 2 === 1 ? '수' : '');
}
테스트 1 〉 통과 (0.03ms, 29.6MB)
테스트 2 〉 통과 (0.03ms, 29.9MB)
테스트 3 〉 통과 (0.03ms, 30MB)
테스트 4 〉 통과 (0.03ms, 29.8MB)
테스트 5 〉 통과 (0.03ms, 29.9MB)
테스트 6 〉 통과 (0.04ms, 29.9MB)
테스트 7 〉 통과 (0.03ms, 29.9MB)
테스트 8 〉 통과 (0.03ms, 29.7MB)
테스트 9 〉 통과 (0.03ms, 30MB)
테스트 10 〉 통과 (0.03ms, 29.9MB)
테스트 11 〉 통과 (0.03ms, 30.1MB)
테스트 12 〉 통과 (0.04ms, 30MB)
테스트 13 〉 통과 (0.03ms, 30MB)
테스트 14 〉 통과 (0.03ms, 30MB)
테스트 15 〉 통과 (0.03ms, 29.9MB)
테스트 16 〉 통과 (0.03ms, 30.1MB)
앞으로 코드 짤때 최대한 for이나 if를 덜 사용하고 코드를 짜야겠다.
'ALGORITHM > PROGRAMMERS' 카테고리의 다른 글
[프로그래머스] 서울에서 김서방 찾기 - JavaScript (0) | 2022.07.10 |
---|---|
[프로그래머스] 소수 찾기 - JavaScript (0) | 2022.07.10 |
[프로그래머스] 문자열을 정수로 바꾸기 - JavaScript (0) | 2022.07.10 |
[프로그래머스] 시저 암호 - JavaScript (0) | 2022.07.07 |
[프로그래머스] 약수의 합 - JavaScript (0) | 2022.07.07 |