[프로그래머스] 아이스 아메리카노
카테고리 : 컴퓨터 공학
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 아이스 아메리카노 · js 아이스 아메리카노
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 아이스 아메리카노 · js 아이스 아메리카노
문제 설명
머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money
가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 <
money
≤ 1,000,000
입출력 예
money | result |
---|---|
5,500 | [1, 0] |
15,000 | [2, 4000] |
입출력 설명
입출력 예 #1
- 5,500원은 아이스 아메리카노 한 잔을 살 수 있고 잔돈은 0원입니다.
입출력 예 #2
- 15,000원은 아이스 아메리카노 두 잔을 살 수 있고 잔돈은 4,000원입니다.
나의 첫번째 풀이
function solution(money) {
var coffee = 5500;
var change = [parseInt(money / coffee)];
var coffeeNumber = [money - coffee * change];
var answer = [...change, ...coffeeNumber];
return answer;
}
나의 두번째 풀이(Code Refactoring)
function solution(money) {
let americano = 5500;
let bottle = ~~(money / americano);
let change = money % americano;
return [bottle, change];
}
// 1. 아메리카노를 변수에 담아준다
// 2. 가지고 있는 돈에서 살 수 있는 아메리카노의 갯수를 변수에 담는다 , 소수가 나오므로 floor 연산이 필요하다
// 3. 가지고 있는 돈에서 아메리카노를 살 수 있는 가격의 나머지를 잔돈 변수를 만든다
// 4. 출력할 두 개의 배열에 아메리카노의 갯수 , 잔돈을 담아서 리턴
참고 할 만한 다른 사람의 코드
function solution(money) {
let count = 0;
while (money >= 5500) {
money -= 5500;
count++;
}
return [count, money];
}
//while문을 통해 계산하는 방법