본문 바로가기
알고리즘

수박수박수박수박

by 코딩달림 2022. 11. 7.
728x90

프로그래머스 : 수박수박수박

n번 만큼 반복되는 문자열을 출력하는 문제입니다.


문제 설명

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

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

입출력 예

n 결과
3 "수박수"
4 "수박수박"

1. 해설

소스보기
function solution(n) {
    let answer = "";
    for(let i=1; i<=n; i++){
        i%2 == 1  ? answer +="수" : answer +="박";
    }
    return answer;
}

반복문을 통해 홀수일 시 "수"를, 짝수일 시 "박"을 반환하도록 합니다.
홀수/짝수는 i값을 2로 나눴을 때 몫이 1이면 홀수, 0이면 짝수가 됩니다.


2. 다른 풀이

소스보기
function solution(n) {
    let answer = "수박";

    return answer.repeat(5000).slice(0, n);
}

반복문을 사용하지 않고 repeat( ) 메서드를 사용해 문자열이 5000번 반복되게 하고 slice로 n번째 문자열까지 반환하도록 하는 방식입니다.
이 방식이 훨씬 코드가 간단하고 더 속도가 빠르기에 추천되는 방식입니다.

※ repeat(n) 메서드

  String.repeat(n) = 문자열을 n번 추가해서 반환합니다. 0일 시 아무것도 반환하지 않습니다.

'알고리즘' 카테고리의 다른 글

행렬 덧셈  (1) 2022.11.10
시저 암호  (3) 2022.11.09
두 개 뽑아서 더하기  (2) 2022.11.07
내적  (3) 2022.11.05
음양 더하기  (2) 2022.11.05

댓글


광고 준비중입니다.