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
반응형

+ Recent posts