Coding Test/프로그래머스

[JavaScript] 아이스 아메리카노

노 코딩 노 라이프 2023. 4. 5. 01:32

문제설명

머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.


제한사항

  • 0 < money ≤ 1,000,000

입출력 예 & 설명

입출력 예 #1

  • 5,500원은 아이스 아메리카노 한 잔을 살 수 있고 잔돈은 0원입니다.

입출력 예 #2

  • 15,000원은 아이스 아메리카노 두 잔을 살 수 있고 잔돈은 4,000원입니다.

소스코드&결과

function solution(money) {
    var answer = [];
    var cnt, changes; // 아이스아메리카의 갯수, 잔돈
    cnt = money / 5500;
    changes = money % 5500;
    answer[0] = Math.floor(cnt);
    answer[1] = changes;
    
    return answer;
}


코드 설명

var cnt, changes; // 아이스아메리카의 갯수, 잔돈
  • var로 cnt와 changes를 선언해주었다.
cnt = money / 5500;
changes = money % 5500;
  • 아이스아메리카의 갯수는 money와 아아의 가격을 나누어 주었고, 잔돈은 %연산자를 이용하여 money에서 5500을 나눈 나머지 값을 넣어 주었다.
answer[0] = Math.floor(cnt);
answer[1] = changes;
  • answer의 인덱스 0번째 값에는 cnt값을 넣어주었는데, cnt가 딱 떨어지지 않을 경우를 대비해 Math.floor메소드를 사용하여 소수점을 버려주었다.
  • Math.floor() : 소수점 버림, 정수 반환
return answer;
  • answer값을 반환해주었다.

다른 사람이 짠 코드

function solution(money) {
    return [Math.floor(money / 5500), money % 5500];
}

다른 사람들이 짠 코드를 보고, 아아의 갯수와 잔돈을 따로 선언해주지 않아도, 반환을 해줄때 바로 배열로 넣어 주면 되겠다!!는 것을 알게 되었다.