Level 0 ) 수학,배열(2)

Doozuu·2022년 12월 30일
0

프로그래머스 (JS)

목록 보기
6/183

📌 문제 1. 옷가게 할인 받기

function solution(price) {
    var answer = 0;
    if(price < 100000){
        answer = price;
    }else if(price >= 100000 && price < 300000){
        answer = price * 95 / 100;
    }else if(price >= 300000 && price < 500000){
        answer = price * 90 / 100;
    }else{
        answer = price * 80 / 100;
    }
    return Math.floor(answer);
}

좀 더 깔끔하게 정리해보기

  • 위와 반대 순서. 10 -> 30 -> 50이 아닌 50 -> 30 -> 10 으로 해야됨.
  • 소수점 이하 버리기는 Math.floor()parseInt() 중 선택.
function solution(price) {
    var answer = 0;
   
    if(price >= 500000)
      return parseInt(price*(1-0.2));
    if(price >= 300000)
      return parseInt(price*(1-0.1));
    if(price >= 100000)
      return parseInt(price*(1-0.05));
  
    return price;
}


📌 문제 2. 아이스 아메리카노

function solution(money) {
    return [Math.floor(money / 5500), money % 5500];
}
  • 요건 깔끔하게 잘 풀었다!


📌 문제 3. 출생연도 구하기

내 코드

function solution(age) {
    let answer = 0;
    let year = 2022;
    
    if(0 < age <= 120){
      answer = year - age + 1;   
    }
    
    return answer;
}

깔끔한 코드

function solution(age) {
    return new Date().getFullYear() - age + 1;
}


📌 문제 4. 배열 뒤집기

function solution(num_list) {
    return num_list.reverse();
}

⭐️ 배열 뒤집는 함수 : array.reverse( )


참고 : 함수 안쓰고 for문으로 뒤집기

function solution(num_list) {
    var answer = [];
    var num_list.length = j;
    for(i=0; i < j; i++){
    	answer.push(num_list[j - i]);
    }
    return answer;
}
profile
모든게 새롭고 재밌는 프론트엔드 새싹

0개의 댓글