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
반응형
'Digital Boot' 카테고리의 다른 글
[Open Weather API] Open Weather로 날씨 API 불러오기 (1) | 2023.11.02 |
---|---|
[Spring Boot] Project - 미니 게임 만들기 (0) | 2023.11.01 |
Project Report (1) | 2023.10.30 |
[React] 가위바위보 게임 만들기 (0) | 2023.09.07 |
[Html/Java Scrip] - 최대 공약수, 최소 공배수 구하기, 재귀호출 사용 (0) | 2023.09.01 |