영상
문제
<script>
/*
[문제]
철수는 편의점에서 아르바이트하고 있다.
vending은 음료수 냉장고 물품 개수 상태이다.
숫자는 아이템 번호이고 0은 비어있는 것을 뜻한다.
냉장고는 최대 10개까지 저장할 수 있다.
그리고 같은 종류의 아이템으로만 저장하며, 세로로 저장한다.
box리스트는 현재 아이템 창고 재고를 표시한다.
왼쪽숫자는 아이템번호이고 오른쪽 숫자는 개수이다.
예를 들어 [1,4]는 1번 아이템을 뜻하고, 남은개수는 4개를 뜻한다.
box에 있는 상품들로 채울 수 있을 만큼 채우고 최종상태를 출력하시오.
[예시]
1번 아이템은 4개 밖에 재고가 없다.
[vending]
[0,0,0,0,5,0],
[0,0,0,0,5,0],
[1,0,0,0,5,0],
[1,0,0,0,5,6],
[1,2,0,0,5,6],
[1,2,3,0,5,6],
[1,2,3,0,5,6],
[1,2,3,4,5,6],
[1,2,3,4,5,6],
[1,2,3,4,5,6]
[box]
[1,0],
[2,8],
[3,3],
[4,4],
[5,8],
[6,9]
남은 아이템도 채워보자.
[정답]
[0, 2, 0, 0, 5, 6]
[0, 2, 0, 0, 5, 6]
[1, 2, 3, 0, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 0]
[2, 4]
[3, 0]
[4, 0]
[5, 8]
[6, 6]
*/
let vending = [
[0, 0, 0, 0, 5, 0],
[0, 0, 0, 0, 5, 0],
[0, 0, 0, 0, 5, 0],
[0, 0, 0, 0, 5, 6],
[0, 2, 0, 0, 5, 6],
[0, 2, 3, 0, 5, 6],
[1, 2, 3, 0, 5, 6],
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6]
];
let box = [
[1, 4],
[2, 8],
[3, 3],
[4, 4],
[5, 8],
[6, 9]
];
</script>
Java
복사
해설
<script>
/*
[문제]
철수는 편의점에서 아르바이트하고 있다.
vending은 음료수 냉장고 물품 개수 상태이다.
숫자는 아이템 번호이고 0은 비어있는 것을 뜻한다.
냉장고는 최대 10개까지 저장할 수 있다.
그리고 같은 종류의 아이템으로만 저장하며, 세로로 저장한다.
box리스트는 현재 아이템 창고 재고를 표시한다.
왼쪽숫자는 아이템번호이고 오른쪽 숫자는 개수이다.
예를 들어 [1,4]는 1번 아이템을 뜻하고, 남은개수는 4개를 뜻한다.
box에 있는 상품들로 채울 수 있을 만큼 채우고 최종상태를 출력하시오.
[예시]
1번 아이템은 4개 밖에 재고가 없다.
[vending]
[0,0,0,0,5,0],
[0,0,0,0,5,0],
[1,0,0,0,5,0],
[1,0,0,0,5,6],
[1,2,0,0,5,6],
[1,2,3,0,5,6],
[1,2,3,0,5,6],
[1,2,3,4,5,6],
[1,2,3,4,5,6],
[1,2,3,4,5,6]
[box]
[1,0],
[2,8],
[3,3],
[4,4],
[5,8],
[6,9]
남은 아이템도 채워보자.
[정답]
[0, 2, 0, 0, 5, 6]
[0, 2, 0, 0, 5, 6]
[1, 2, 3, 0, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 0]
[2, 4]
[3, 0]
[4, 0]
[5, 8]
[6, 6]
*/
let vending = [
[0, 0, 0, 0, 5, 0],
[0, 0, 0, 0, 5, 0],
[0, 0, 0, 0, 5, 0],
[0, 0, 0, 0, 5, 6],
[0, 2, 0, 0, 5, 6],
[0, 2, 3, 0, 5, 6],
[1, 2, 3, 0, 5, 6],
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6]
];
let box = [
[1, 4],
[2, 8],
[3, 3],
[4, 4],
[5, 8],
[6, 9]
];
for(let i=0; i<box.length; i++) {
let index = -1;
for(let j=vending.length - 1; j>=0; j--) {
if(vending[j][i] == 0) {
index = j;
break;
}
}
document.write(index + "<br>");
if(index != -1) {
let count = box[i][1];
for(let j=0; j<count; j++) {
vending[index][i] = box[i][0];
box[i][1] -= 1;
if(box[i][1] == 0) {
break;
}
if(index == 0) {
break;
}
index -= 1;
}
}
}
for(let i=0; i<vending.length; i++) {
document.write(vending[i] + "<br>");
}
document.write("<br>");
for(let i=0; i<box.length; i++) {
document.write(box[i] + "<br>");
}
</script>
Java
복사