아이스 아메리카노
2024. 7. 13. 18:00ㆍ코딩테스트 입문
https://school.programmers.co.kr/learn/courses/30/lessons/120819
문제 설명
머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 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원입니다.
간단한 나눗셈 문제입니다.
money를 5,500으로 나눈 뒤 생기는 몫과 나머지를 배열로 만들어 반환하는 문제인거죠.
그래서 몫을 간편하게 구할 수 있다면 어려울 게 없습니다.
저는 파이썬의 // 연산자를 사용해 문제를 풀어보겠습니다.
def solution(money):
# money로 살 수 있는 최대 잔: money // 5500
# 남은 금액 : money % 5500
answer = [money//5500, money%5500]
return answer
// 같이 몫을 지원하지 않더라도 문제를 푸는데 아무런 문제가 없습니다.
대부분은 언어는 /(나누기), %(나머지) 연산을 지원하고, /(나누기)한 결과를 정수형으로 변환해주면 그게 몫입니다.
자바를 예시로 살펴보면 다음과 같습니다.
class Solution {
public int[] solution(int money) {
int[] answer = {(int)(money/5500), money%5500};
return answer;
}
}
몫 연산 없이 형변환으로 몫을 구할 수 있습니다.