수박수박수박수박수박수?

Creating the dots·2021년 10월 25일
0

Algorithm

목록 보기
30/65

프로그래머스

나의 풀이

  • n이 1이면 "수" 리턴
  • n이 짝수이면 res = 수박*n/2, 리턴 res
  • n이 홀수이면 res = 수박*Math.floor(n/2), res += "수", 리턴 res
function solution(n){
  let res = "";
  if(n===1) return "수"
  else{
    for(let i=0;i<Math.floor(n/2);i++){
      res += "수박";
    }
    if(n%2===1){
      res += "수"
    }
  }
  return res;
}

다른 사람의 풀이

  • parseInt(n/2)번만큼 "수박"을 반복한다
  • n이 홀수이면 끝에 "수"를 더해서 리턴시킨다
  • n이 짝수이면 그대로 리턴시킨다
function solution(n){
  return "수박".repeat(n/2) + (n%2 === 1? "수" : "");
}

String.prototype.repeat

문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환한다
str.repeat(count);
여기서 count를 문자열을 반복할 횟수로 0과 양의 무한대 사이의 정수로 소수가 입력될 경우, parseInt된 값만큼 반복된다.

repeat 사용 문제

https://programmers.co.kr/learn/courses/30/lessons/12948

function solution(phone_number) {
  let result = "*".repeat(phone_number.length-4) + phone_number.slice(-4);
  return result;
}

//slice(음수)인 경우 뒤에서부터 4개
profile
어제보다 나은 오늘을 만드는 중

0개의 댓글