영상
문제
<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
복사