일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 안드로이드
- 리팩터링
- 변경
- 방법
- 코드업
- 자바스크립트
- 27G2
- 버튼 이벤트
- java
- 점심
- 2차원 리스트
- r
- 설치
- JavaScript
- 안드로이드 스튜디오
- CodeUP
- 출력
- 파이썬
- 예제
- 맛집
- 에러
- 설정
- JDK 8
- 안스
- 반복문
- spring boot
- Android Studio
- python
- 시작
- 자바
Archives
- Today
- Total
기루 기룩 기록
[CodeUp] 3301 - 거스름돈(Java) 본문
반응형
문제설명
어떤 가게의 욕심쟁이 점원은 거스름돈을 나눠줄때 거스름돈의 개수를 적게해서 주고자 한다.
거스름돈을 입력 받아 점원이 줄 수 있는 최소 거스름돈의 개수를 출력하시오.
예를 들어 54520원인 경우,
거스름돈으로 50000원권 1장, 1000원권 4장, 500원 1개, 10원 2개 해서 총 8개이다.
(※ 현재 우리나라가 사용하고 있는 화폐를 사용한다. 10원 50원 100원 500원 1,000원 5,000원 10,000원 50,000원)
출력
최소 거스름돈의 개수를 출력한다.
입력 예시
54520
출력 예시
8
제출
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
// 10원 50원 100원 500원 1,000원 5,000원 10,000원 50,000원
Scanner sc = new Scanner(System.in);
int[] cost = {50000, 10000, 5000, 1000, 500, 100, 50, 10};
int n = sc.nextInt(); // 거스름돈
int a = 0; // 거스름돈 갯수
for(int i = 0; i<cost.length;i++){
a+= n/cost[i]; // 거스름돈 갯수
n = n%cost[i]; // 남은 금액
}
System.out.println(a);
}
}
문제 해결
거스름돈의 갯수를 구하기 위해 우선 50,000원 부터 10원까지의 배열을 만들었습니다.
최소한의 거스름돈의 갯수를 구하기위해 50,000원 부터 시작해 최소의 값을 구했습니다.
반응형