문제
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.제한 조건
- n은 길이 10,000이하인 자연수입니다.'
나의 답
처음에는 n값을 받아서 홀/짝별로 따로 처리해줄까 하다가, 귀찮아서 아래와 같이 구현해봤다.
점수는 1점받았다ㅋㅋ 점수 주는 기준이 뭔지 잘 모르겠다...
function returnStr(n) {
const str = "수박";
let answer = "";
for (let i = 0; i < n; i++) {
answer += str[i%2];
}
return answer;
}
console.log(returnStr(3)) //수박수
console.log(returnStr(4)) //수박수박
메서드 활용 방법
사실 repeat(count) 메서드를 사용해서 간단하게 구현도 가능하다.
두 글짜를 한번에 찍어주기 때문에, 반복 횟수는 n/2(count 값으로 소수점이 들어가면, 앞자리 정수를 반환한다)를 해준 뒤, 홀수면 위에 '수'를 추가해준다.
function returnStr2(n) {
return "수박".repeat(n/2) + (n % 2 === 1 ? "수" : "");
}
console.log(returnStr(3)) //수박수
console.log(returnStr(4)) //수박수박'항해99_10기 > [2주차] 알고리즘 문제풀이' 카테고리의 다른 글
| [11번][연습문제][Lv.1] 콜라츠 추측 (0) | 2022.11.19 |
|---|---|
| [10번][연습문제][Lv.1] 제일 작은 수 제거하기 (0) | 2022.11.19 |
| [4번][연습문제][Lv.1] 완주하지 못한 선수 (0) | 2022.11.19 |
| [2번][연습문제][Lv.1] 나누어 떨어지는 숫자 배열 (0) | 2022.11.19 |
| [1번][연습문제][Lv.1] 2016년 (0) | 2022.11.19 |