[프로그래머스/코딩테스트 모음/Javascript] 14

TED·2023년 9월 6일
0

Javascript CodingTest

목록 보기
21/63
post-thumbnail

<오늘의 문제>

  1. 아이스 아메리카노
  2. 자릿수 더하기
  3. 옷가게 할인 받기

1. 아이스 아메리카노

function solution(money) {
    var answer = [];
    
    answer = [Math.floor(money / 5500), (money % 5500)]
    
    return answer;
}
  • 나의 풀이
    : answer의 배열값엔 [아메리카노 수, 남은돈] 이 들어오므로, 매우매우 간단한 문제였다.
    소숫점은 버려야하므로 Math.floor 사용
function solution(money) {
    var answer = [0, 0];
        answer[0] = Math.floor(money / 5500), // 몇 잔 마셨니?
        answer[1] = money - (5500 * answer[0]) // 있던 돈에서 구입 한 수 * 5500은 남은 돈
    return answer;
}
  • 나의 다른 풀이
    : 기본 answer 값에 인덱스을 초기화값으로 집어넣고, 각각의 인덱스 0과 1값에 맞춰서 풀이하였다.

2. 자릿수 더하기

function solution(n) {
    var answer = 0;
    
    answer = n.toString().split('').reduce((acc, cur) => acc + cur * 1, 0)
    
    return answer
}
  • 나의 풀이
    : toString으로 문자열 변환뒤, split으로 하나하나뽑아준 요소를, reduce로 전부 더한 뒤 1 를해서 숫자형으로 변환한다.
    처음엔 별 생각없이
    1은 하지않고 마지막 return paseInt(answer) 로 입력했는데 당연히 안됬다 ㅋ;
function solution(n) {
    const answer = 0;
    const sum = n.toString();
    
    for ( let i = 0; i < sum.length; i++) {
        answer += parseInt(sum[i]);
    }
    return answer;
}
  • 나의 다른 풀이
    : 문자형으로 변환한 값을 sum으로 새롭게 지정해주고, 각각의 인덱스값을 숫자형으로 변환해서 더해주었다.

3. 옷가게 할인 받기

function solution(price) {
    var answer = 0;
    
    if(price >= 100000 && price < 300000) {
        answer = price * 0.95
    } else if (price >= 300000 && price < 500000) {
        answer = price * 0.9
    } else if (price >= 500000) {
        answer = price * 0.8
    } else {
        answer = price
    }
    
    return parseInt(answer);
}
  • 나의 풀이
    : 풀면서 이렇게 푸는게 맞는걸까 싶었는데 풀리긴해서 ㅠ 뭔가 else if 가 길어지면 부끄럽다...
function 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
}
  • 다른 사람 풀이
    : 일단 조건이 큰값을 먼저 작성해서 코딩을 내 풀이보다 간결하게 작성하여서 가져왔다.
profile
컴맹 개발 입문자

0개의 댓글