JAVA/오류고민

[배열] 필요한 동전의 개수는?

(งᐛ)ว 2023. 8. 19. 22:52
728x90
728x90

정수형 변수 money에 10~5000사이의 난수를 발생시켜 넣는다. 단, 1의자리 숫자는 반드시 0이어야 한다. 

발생된 난수를 500,100,50,10원짜리 동전으로 바꾸면 각 동전이 몇개씩 필요한지 판단하는 코드 작성하기

 

내가 작성한 코드

Random rnd = new Random();

int money = rnd.nextInt((500) + 1) * 10;

System.out.println("금액 입력 : "+ money + "원");

 

int[] coin = { 500, 100, 50, 10 }; 

for (int i = 0; i <coin.lengthi++) {

     int result = money / coin[i];

     System.out.printf("%d원 : %d개\n"coin[i], result);

}

 

결과

 

고민

내가 원한 결과는 500원 8개, 100원 3개 ... 이렇게 총 합이 4380원이 나와야되는데 각 동전마다 따로 나왔다.

for반복문을 돌 때 금액 변동이 없어서다. 

 

그럼 처음 500원을 출력하고 i++로 돌아갈때 money 금액이 바뀌어야하고

money는 앞서 출력한 동전으로 나눈 나머지여야 한다.


새로 작성한 코드

Random rnd = new Random();

int money = rnd.nextInt((500) + 1) * 10;

System.out.println("금액 입력 : "+ money + "원");

 

int[] coin = { 500, 100, 50, 10 }; 

for (int i = 0; i <coin.lengthi++) {

     int result = money / coin[i];

     System.out.printf("%d원 : %d개\n"coin[i], result);

     money %= coin[i]; //추가

}

 

결과

 

숫자가 랜덤이라 위와 같진 않지만 원하는대로 결과가 출력되었다!

 

 

 

 

 

 

[JAVA] 배열

배열 : 같은 자료형의 변수들로 이루어진 유한집합으로 효율적인 데이터 관리가 가능하다. 정수형 배열의 선언과 생성 자료형 [ ] 배열명 = new 자료형 [길이]; //new는 공간을 할당해주는 역할 int [

studywithjw.tistory.com

728x90