지폐 갯 수 알려주기 알고리즘

momomoki·2023년 8월 17일
0
post-thumbnail

문제 금액을 입력받아 지폐갯수를 알려주는 알고리즘을 짜야한다.

public class Quiz02 {
  public static void main(String[] args) {
    
    Scanner scanner = new Scanner(System.in);
    System.out.println("잔돈을 입력하면 됩니다.");
    int won = scanner.nextInt();
    
    int oMan = won / 50000;
    int man = (won % 50000) /10000;
    int oChun = ((won % 50000)% 10000) /5000;
    int chun = (((won % 50000)% 10000) % 5000) / 1000;
    int oBak = ((((won % 50000)% 10000) % 5000) % 1000) /500;
    int bak = (((((won % 50000)% 10000) % 5000) % 1000) % 500) / 100;
    int oSip = ((((((won % 50000)% 10000) % 5000) % 1000) % 500) % 100) / 50;
    int sip = (((((((won % 50000)% 10000) % 5000) % 1000) % 500) % 100) % 50) / 10;

    System.out.println("오만원권:"+oMan + "장" + " 만원권:" + man + "장"+ " 오천원권:" + oChun + "장" + " 천원권:" + chun + "장" + " 오백원짜리동전:" +oBak + "장" +  " 백원짜리동전:" + bak +"개" + " 오십원짜리동전:" + oSip + "개"+ " 십원짜리동전:" + sip + "개");
    
  }
}

스캐너매서드를 사용해서 입력받는 값의 지폐의 갯수를 알려주는 알고리즘입니다. 여기서 지폐 갯수를 구하는 계산식을 생각해서 적용하는게 중요하다고 느끼고 있었고 저는 오만원권부터 오십원까지의 갯수를 하나하나 %를 해서 나온 값을 나눈값으로 구하는식으로 했습니다.

수업시간에 강사님께서 짜신 코드를 한번 보자.

 public static void main(String[] args) {
        int remain, money;
        Scanner scanner = new Scanner(System.in);
        System.out.println("금액을 입력하면 지폐 및 동전으로 나눠 드립니다.");
        money = scanner.nextInt();
        remain = money / 50000;
        System.out.println("오만원권 === " + remain);
        money = money % 50000;
        remain = money / 10000;
        System.out.println("만원권 === " + remain);
        money = money % 10000;
        remain = money / 5000;
        System.out.println("오천원권 === " + remain);
        money = money % 5000;
        remain = money / 1000;
        System.out.println("천원권 === " + remain);
        money = money % 1000;
        remain = money / 500;
        System.out.println("오백원 === " + remain);
        money = money % 500;
        remain = money / 100;
        System.out.println("백원 === " + remain);
        money = money % 100;
        remain = money / 50;
        System.out.println("오십원 === " + remain);
        money = money % 50;
        remain = money / 10;
        System.out.println("십원 === " + remain);

    }

위에 코드를 보면 입력받은 값에 나머지 값들을 넣어 나온 나머지 값을 다음 지폐로 나눠서 갯수를 샐수가있습니다.

profile
얍얍엽엽욥욥

0개의 댓글