2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

Lv0 JS 프로그래머스 #10 - 옷가게 할인 받기, 문자 반복 출력하기, 중복된 숫자 개수

2023. 8. 14. 11:37ㆍ프로그래머스 JS 코딩테스트
반응형

31. 옷가게 할인 받기

 

문제 설명

  • 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.

제한사항

  • 10 ≤ price ≤ 1,000,000 
  • price는 10원 단위로(1의 자리가 0) 주어집니다. 
  • 소수점 이하를 버린 정수를 return합니다.

입출력 예시

  • 150,000원에서 5%를 할인한 142,500원을 return 합니다.
  • 580,000원에서 20%를 할인한 464,000원을 return 합니다.

풀이

const solution = price => {
    if(price >= 500000) return Math.floor(price * 0.8);
    else if(price >= 300000) return Math.floor(price * 0.9);
    else if(price >= 100000) return Math.floor(price * 0.95);
    else return price
}

// Math.floor 는 소수점을 버리는 메서드
// 높은 가격부터 확인하여 시간을 단축

 

32. 문자 반복 출력하기

 

문제 설명

  • 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.

제한사항

  • 2 ≤ my_string 길이 ≤ 5 
  • 2 ≤ n ≤ 10 
  • "my_string"은 영어 대소문자로 이루어져 있습니다.

입출력 예시

  • "hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다.

풀이

const solution = (my_string, n) => {
    // split 문자열을 각 문자가 요소로 이루어진 배열 생성
    // map 을 이용하여 새 배열 생성
    // 배열의 요소 x는 각 문자를 n번 반복
    // 각 요소를 붙여준다. 기준은 ("")
    return my_string.split("").map(x => x.repeat(n)).join("")
}

 

33. 중복된 숫자 개수

 

문제 설명 

  • 정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.

제한사항 

  • 1 ≤ array의 길이 ≤ 100 
  • 0 ≤ array의 원소 ≤ 1,000 
  • 0 ≤ n ≤ 1,000

입출력 예시 

  • [1, 1, 2, 3, 4, 5] 에는 1이 2개 있습니다.
  • [0, 2, 3, 4] 에는 1이 0개 있습니다.

풀이

const solution = (array, n) => {
    let count = 0;
    for(const number of array){
        if(number === n) count += 1;
    }
    return count;
}

// array의 요소가 n과 동일하다면 count += 1

 

  • 정답률 높은 순부터 풀이
  • 매일 3 문항 풀이
반응형