프로그래머스 풀이

[c++][javascript]아이스아메리카노

Iam_noob 2024. 11. 28. 11:09
728x90
반응형

출처: 프로그래머스

문제 설명

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

 

제한사항

  • 0 < money ≤ 1,000,000

 

입출력 예

money result
5,500 [1, 0]
15,000 [2, 4000]

 

문제 풀이

c++ 문제풀이

#include <string>
#include <vector>

using namespace std;

vector<int> solution(int money) {
    vector<int> answer;
    int ice = 5500;
    answer.push_back(money/ice); // 나눠지는 몫을 구매 할 수 있는 개수로 넣고
    answer.push_back(money%ice); // 나눈 후 나머지 값을 잔돈으로 넣는다.
    return answer;
}

커피 값을 개수를 세어 뺄 수도 있는데, 가만히 생각해보면 나눠지는 몫이 구매 할 수 있는 커피의 개수이다. 그리고 % 연산자로 나머지가 구해짐으로 이를 거스름 돈으로 추가하면 된다. 이렇게 풀이하면 빼고나서 남은 금액을 계산하는 것보다 더 간단하게 해결 할 수 있다.

간단하여 아래 자바스크립트로도 풀이를 추가해 두려한다.

 

자바스크립트 문제풀이

function solution(money) {
    const ice = 5500;
    const answer = [];
    answer.push(Math.floor(money / ice)); // 아이스크림 개수
    answer.push(money % ice);            // 남은 돈
    return answer;
}
728x90
반응형