[프로그래머스] 코딩테스트 연습 - 수박수박수박수박수박수? (javascript)

지미노·2022년 8월 8일
0

코딩테스트

목록 보기
6/40
post-thumbnail
post-custom-banner

문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

제한 조건
n은 길이 10,000이하인 자연수입니다.

여기서 생각해본 풀이법

if문을 사용해서 n이 홀수인 경우, 짝수인 경우로 나눠서 짜고 조건을 걸어주고
글씨를 출력하게 만들면 될것같다.

anwser = ''
if (n % 2) { 
answer = '수' + '박수' * ((n - 1) / 2)
} else {
answer = "수박" * (n / 2)
}

근데 문제가 있다.
문자열은 숫자가 아니기 때문에 곱할 수 없기 때문.....

그래서 찾게 된 repeat 함수.. 문자열을 반복하는 함수!

function solution(n) {
    if (n % 2) { 
    let str = '박수'
    answer = '수' + str.repeat((n - 1) / 2)
    }
    else {
    let str = '수박'
    answer = str.repeat(n / 2)
    }
    return answer;
}

그리고 나를 웃겼던 답변ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

function waterMelon(n){
  var result = "수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박"
  return result.substring(0,n);
}
post-custom-banner

1개의 댓글

comment-user-thumbnail
2022년 8월 8일

맨 아래 코드 보고 이마를 탁 쳤습니다.

답글 달기