길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
Approach
개선 전
- 처음에는 arr = ['수', '박'] 에서 하나씩 꺼내써야 하는지 아니면 a='수' b='박' 으로 따로 정의해서 문자열을 합쳐야할지 감이 잘 오지 않았다. 분명히 반복문을 써서 실행해야할 것 같았는데 아직 반복문에 대한 깊은 이해와 자주쓰지 않았던 나의 경험의 부족에서인지 문제를 푸는 방향성에서부터 막혔다.
개선 후
- for 반복문을 사용한 해결
i가 n 번 반복한다는 가정 안에, i가 짝수이면 '박'을 홀수면 '수'를 리턴하기
- repeat() + substring()
'수박'을 n번 반복하고, 0번째에서 n번쨰 인덱스까지의 문자열만 잘라서 리턴하기
function solution(n) {
var answer = '';
//반복문
for(let i = 1; i <= n; i++){
if(i % 2 === 0){
answer +='박';
} else {
answer += '수';
}
}
return answer;
}
function solution(n) {
//반복, 문자열 자르기
// repeat() 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환
let answer ='수박'.repeat(n).substring(0,n);
return answer;
}
참고
728x90
반응형
'부트캠프 개발일지 2023-2024 > Algorithm 알고리즘' 카테고리의 다른 글
[Programmers] 알고리즘 : 약수의 개수와 덧셈 (0) | 2023.12.14 |
---|---|
[Programmers] 알고리즘: 내적 (0) | 2023.12.13 |
[Programmers] 알고리즘 : 가운데 글자 가져오기 (1) | 2023.12.07 |
[Programmers] 알고리즘 : 제일 작은 수 제거하기 (1) | 2023.12.06 |
[Programmers] 알고리즘 : 없는 숫자 더하기 (2) | 2023.12.06 |