Programmers/Level 1

[Javascript] 프로그래머스 : 수박수박수박수박수박수?

emayom 2021. 6. 28. 15:05

⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도 입니다. 참고해주시고 편안하게 봐주세요 :) ⚠️

 

 

[Javascript] 프로그래머스 Level1 _ 수박수박수박수박수박수?

 

👇🏻문제링크

 

 

👇🏻

시행착오

( + 코드를 작성하면서든 생각들.)

1.

n이 짝수라면 n/2한 만큼 "수박"을 반복해서 출력하면되고,

n이 홀수라면 n/2한 만큼 "수박"을 반복하고 + "수"를 붙여서 출력하면 된다. 

function solution(n) {
    return (n%2==0)? "수박".repeat(n/2) : "수박".repeat(n/2)+"수";
}

2.

"수박".repeat(n/2)가 반복되는 패턴이라

그냥 원래 문제에 세팅되어있던 answer에 식을 대입했다!

그리고 n%2 == 0 이 아닌 n%2으로 조건문을 설정했다.

그래서 홀수 = 1일 경우(조건문에서 0 = false, 1 = true)  answer +"수"를 더하여 출력하도록 했다.

function solution(n) {
    let answer = "수박".repeat(n/2);
    return (n%2)? answer+="수" : answer; 
    //(n%2 == 0)? => 짝수가 참 
    //(n%2)? => 홀수가 참
}

3.

다른 사람들은 어떻게 풀었나 보다가 깔끔해보여서 참고하려고 가져왔다!

(자바스크립트에서는 UTF-8 한글 문자열 하나에 3byte로 취급한다.)

n의 최대가 10000이라서 이렇게 작성해도 차이가 크지않아 이렇게 작성해도 좋을 것 같다.

"수박" 자체를 오버되더라도 n만큼 반복을 한 뒤, slice로 필요한 만큼 잘라내서 출력했다. 

function solution(n) {
	const answer = n => "수박".repeat(n).slice(0,n);
        return answer;
}