개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (286)
    • Web Front End (75)
      • Javascript & Typescript (26)
      • React (12)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (7)
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • JavaScript
  • 릿코드
  • 개발자
  • 오늘의회고
  • 프론트엔드
  • 노개북
  • 노마드북클럽
  • 회고
  • TypeScript
  • 자바스크립트

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이

개발후라이

Problem Solved/알고리즘

[Java] 화폐 매수

2019. 11. 7. 10:03
반응형

문제

계좌에 들어있는 돈 일부를 은행에서 출금하고자 합니다.
돈 담을 지갑이 최대한 가볍도록 큰 금액의 화폐 위주로 받습니다.
돈의 액수 money가 매개변수로 주어질 때, 오만 원권, 만 원권, 오천 원권, 천 원권, 오백원 동전, 백원 동전, 오십원 동전, 십원 동전, 일원 동전 각 몇 개로 변환되는지 금액이 큰 순서대로 배열에 담아 return 하도록 solution 메서드를 완성해주세요.
 
제한사항
money는 1 이상 1,000,000 이하인 자연수입니다.
 
입출력 예
money result
50237 [1, 0, 0, 0, 0, 2, 0, 3, 7]
15000 [0, 1, 1, 0, 0, 0, 0, 0, 0]
 
입출력 예 설명
입출력 예 #1 50,237원은 5만 원권 1매, 100원짜리 동전 2개, 10원짜리 동전 3개, 1원짜리 동전 7개로 만들 수 있습니다.
입출력 예 #2 15,000원은 만 원권 1매, 5천 원권 1매로 만들 수 있습니다.

 

문제 설명

50000원, 10000원, 5000원,,,,이런식으로 번갈아가며 진행되니까 번갈아가며 2와 5를 나눠주며 화폐 단위를 맞춘다

단 마지막에는 10원에서 바로 1원이 되니까 if문으로 따로 넣어줬다.

생각보다 오래걸리는거같다...ㅎㅏ..

성공 코드

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
32
33
34
import java.util.*;
 
public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        solution(sc.nextInt());
    }
    
    public static int[] solution(int money) {
        int result[] = new int[9];
        
        int fir = 50000;
        int sw = 0;
        
        for (int i = 0; i < result.length; i++) {
            result[i] = money / fir;
            money = money % fir;
            
            if (sw == 0) {
                sw = 1;
                fir /= 5;
            }
            else if (sw == 1 && money < 10) {
                fir /= 10;
            }
            else {
                sw = 0;
                fir /= 2;
            }
        }
        System.out.print(Arrays.toString(result));
        return result;
    }
}
Colored by Color Scripter
cs

 

 

 

반응형
    'Problem Solved/알고리즘' 카테고리의 다른 글
    • [Python] 조건에 따른 회전하는 문자열
    • [Python] exe 파일 만드는 방법
    • [Java]
    개발후라이
    개발후라이
    어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

    티스토리툴바