Search

함수1_문제07_물건채우기

대분류
STEP10 함수/클래스
문제 난이도
필수
소분류
함수1_문제

영상

문제

<script> /* [문제] 철수는 편의점에서 아르바이트를 하고있다. 장사가 잘되서 라면이 많이 팔렸다. 진열장은 최대 10개를 채울수있다. 재고는 4칸의 상자에 5개씩 담겨져있다. 진열장을 앞에서부터 순차적으로 채워넣고 결과를 출력해주는 함수를 만드시오. [정답] 진열장 = 10,10,10,6,1 */ let 진열장 = [4, 0, 9, 3, 1]; let 재고 = [5, 5, 5, 5]; </script>
Java
복사

해설

<script> /* [문제] 철수는 편의점에서 아르바이트를 하고있다. 장사가 잘되서 라면이 많이 팔렸다. 진열장은 최대 10개를 채울수있다. 재고는 4칸의 상자에 5개씩 담겨져있다. 진열장을 앞에서부터 순차적으로 채워넣고 결과를 출력해주는 함수를 만드시오. [정답] 진열장 = 10,10,10,6,1 */ function printResult(진열장, 재고) { let i = 0; // 진열장 index let j = 0; // 재고 index while(true) { // 1. 필요수량을 구한다. let 필요수량 = 10 - 진열장[i]; if(필요수량 <= 재고[j]) { // 2. 필요수량 <= 재고[j] 진열장[i] += 필요수량; 재고[j] -= 필요수량; i += 1; } else { // 3. 필요수량 > 재고[j] 진열장[i] += 재고[j] 재고[j] = 0; j += 1; } // 4. 종료 조건(1) 재고가 다 떨어지면 if(j == 재고.length) break; // 4. 종료조건(2) 진열장이 다 채워지면 if(i == 진열장.length) break; } document.write("진열장 = " + 진열장 + "<br>"); document.write("재고 = " + 재고 + "<br>"); } let 진열장 = [4, 0, 9, 3, 1]; let 재고 = [5, 5, 5, 5]; printResult(진열장, 재고); </script>
Java
복사