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

lisoh·2022년 3월 11일
0
post-thumbnail

문제

문제 설명

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

제한 조건

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

풀이 과정

// 눈물의 응꼬쇼는 항상 교훈이 있따.
// 이중 배열을 쓰지 말자

// 1<=n<=10,000
// if(n = 4) return "수박수박" 짝수
// if(n = 3) return "수박수" 홀수
// n이 짝수면 수+박 n이 홀수면 수+박+수 
// '수'랑 '박'이 '번갈아' 오는 패턴 
// n을 2로 나눠서 몫을 arrSubak을 반복하는 횟수로 하고
// 나머지를 arrSu를 반복하는 횟수로 한다.

function solution(n) { //5    
    const subakString = "수박";    
    const suString = "수"; 
    const mok = n / 2 // 2
    const left = n % 2  // 1
// 나머지는 항상 1이에요 홀수이면
    
	 const repeatString = subakString.repeat(mok);
// mok 숫자만큼 arrSubak을 반복하고 싶다.  
// suString 에 repeat은 필요없다
   if(left === 1){
        answer = subakString.repeat(mok) + suString;
        return answer;
    }else{
				answer = subakString.repeat(mok);
				return answer;
		}
		
	 return left === 1 ? repeatString : repeatString + suString
    
// 다음엔 slice함수를 써보자-! 

귤팁

return repeatString + (left ? suString : '')
return `${repeatString}${left ? suString : ''}`
//템플릿 리터럴

관련개념

profile
프론트엔드 개발자를 꿈꾸는 개발초보 호랑이

0개의 댓글