⌨️ 프로그래머스/코딩테스트 입문

[프로그래머스] 아이스 아메리카노 ☕

하나둘세현 2024. 2. 18. 01:13
728x90

문제

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

해결 과정

1. 아이스아메리카노 가격의 변수를 만들었다.

2. 아이스 아메리카노가 몇잔이 나오는지 돈과 아이스 아메리카노 가격을 통해 만들었다.

3. 잔돈을 머쓱이가 가지고 있는 돈 

 에서 아이스아메리카노 잔 수 * 아이스 아메리카노 가격을 빼주었다.

아이스 아메리카노 잔 수에서 Math.floor 함수를 작성한 이유는 소수점을 없애기 위해서이다.

그리고 아이스아메리카노 배열을 만들어 아이스 아메리카노 잔 수와 잔돈을 입력했다. 

새롭게 알게된 점📝

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

 

다른 사람의 풀이를 보던 중 너무 심플하게 문제를 해결했다. 내가오히려 문제를 복잡하게 해결했다.

왜 나머지 연산자를 썼는지

직접 손으로 계산을 해보니까 너무 쉽게 이해가 됬다.

 

정답

function solution(money) {
    const iceCoffeePrice= 5500
    let iceCoffeeCup = money / iceCoffeePrice;
    let change = money - (Math.floor(iceCoffeeCup) * iceCoffeePrice);
    
    let iceCoffeeArray = [Math.floor(iceCoffeeCup),change ];
    return iceCoffeeArray;
}
728x90