Digital Boot
[Java Script] - 거스름 돈 구하기
콛잉
2023. 8. 31. 10:10
728x90
반응형
문제

내기 생각해 본 script
-if 조건문 사용
-각 동전의 최소 개수가 나올 뿐 동전 개수의 합이 나오진 않는다.
<!-- 생략 -->
<body>
<script>
let 돈 = 0;
돈 = prompt('받은 돈을 입력하시오');
console.log(`받은 돈 ${돈}원`)
let 동전수 = 0;
if (parseInt(돈 / 500) >= 1) {
console.log(`500원 ${parseInt(돈 / 500)} 개`)
}
if (돈 % 500 >= 1) {
console.log(`100원 ${parseInt((돈 % 500) / 100)} 개`)
}
if (돈 % 100 >= 5) {
console.log(`50원 ${parseInt((돈 % 100) / 50)} 개`)
}
if (돈 % 50 >= 1) {
console.log(`10원 ${parseInt(돈 % 50) / 10} 개`)
}
</script>
</body>
예시 script 1
-greedy 알고리즘
-거스름 돈을 미리 설정해둠(하드코딩)
-조건문 if 사용
-반복문 while 사용
-if문만 사용한다면 조건에 만족할 경우 1번으로 끝나고 반복하지 않는다. 그래서 while문을 써서 돈이 0원보다 크다면 계속 반복하고 0원이 된다면 멈추도록 한다.
<!-- 생략 -->
<body>
<script>
let money = 1260;
let 동전수 = 0;
while (money > 0) {
if (money >= 500) {
동전수 = 동전수 + 1;
money -= 500;
} else if (money >= 100) {
동전수 = 동전수 + 1;
money -= 100;
} else if (money >= 50) {
동전수 = 동전수 + 1;
money -= 50;
} else if (money >= 10) {
동전수 = 동전수 + 1;
money -= 10;
}
}
console.log(동전수);
</script>
</body>
예시 script2
<!-- 생략 -->
<body>
<script>
let money = 1260;
let 동전수 = 0;
while (money > 0) {
if (money >= 500) {
동전수 += parseInt(money / 500);
money = money % 500;
} else if (money >= 100) {
동전수 += parseInt(money / 100);
money = money % 100;
} else if (money >= 50) {
동전수 += parseInt(money / 50);
money = money % 50;
}
else if (money >= 10) {
동전수 += parseInt(money / 10);
money = money % 10;
}
}
console.log(동전수);
</script>
</body>
예시 script3
<!-- 생략 -->
<body>
<script>
let money = 1260;
let 동전수 = 0;
let 동전종류 = [500, 100, 50, 10];
let count = 0;
while (count < 4) {
let 동전 = 동전종류[count];
count++;
동전수 += parseInt(money / 동전);
money %= 동전;
}
console.log(동전수);
</script>
</body>728x90
반응형