[프로그래머스] Lv.1 수박수박수박수박수박수? (JS)

아름·2023년 12월 6일
0

알고리즘

목록 보기
16/26

🔎 문제

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

입출력 예


🔓 풀이 과정

고민

1) for문을 쓰면서 n이 짝수인 경우와 홀수인 경우를 나눠서 생각해보기
2) n의 길이 만큼 "수""박"을 번갈아서 출력하기

나의 풀이

function solution(n) {
  let answer = "";
  for (i = 0; i < n; i++) { // 0을 2로 나누면 몫도 0이고 나머지도 0임
    if (i % 2 === 0) answer += "수";
    else answer += "박";
  }
  return answer;
}

그 밖의 풀이

function solution(n) {
    let answer = '';
    
    // 1. n이 짝수인 경우, n/2만큼 '수박'을 반복
    if (n % 2 === 0) {
        answer = '수박'.repeat(n / 2);
    
    // 2. n이 홀수인 경우, n/2만큼 '수박'을 반복한 뒤 '수'를 1회 추가
    // repeat() 함수에서는 괄호 안의 인자가 소수일 때, 자동으로 내림 처리해 정수로 인식하기 때문
    } else {
        answer = '수박'.repeat(n / 2) + '수';
    }
    
    return answer;
}
// 이게 좀 더 더 직관적인듯 하다..!
profile
내 꿈은 개발자

0개의 댓글