Search

배열5_문제08_상품재고

대분류
STEP06 일차배열
문제 난이도
LV04
소분류
일차배열5_문제

영상

문제

<script> /* [문제] item배열은 상품의 번호이다. price배열은 상품의 가격이다. count배열은 상품의 재고 개수이다. item과 price, count는 한 세트이다. order배열은 오늘 주문이 들어온 상품의 인덱스 번호이다. 단, 주문할 때마다 count 재고에서 하나씩 감소하고, 재고가 0이면 주문할 수 없다. 주문할 수 없을 때는 "주문 불가"를 출력하시오. order의 주문을 토대로 오늘 매출을 구하시오. count 리스트도 출력하시오. [정답] order = 0, count = 2,1,2,1 order = 1, count = 2,0,2,1 order = 3, count = 2,0,2,0 order = 3, 주문불가 order = 2, count = 2,0,1,0 order = 2, count = 2,0,0,0 order = 1, 주문불가 매출 = 12600 */ let item = [1001, 1002, 1003, 1004]; let price = [500, 1200, 4300, 2300]; let count = [3, 1, 2, 1]; let order = [0, 1, 3, 3, 2, 2, 1]; </script>
Java
복사

해설

<script> /* [문제] item배열은 상품의 번호이다. price배열은 상품의 가격이다. count배열은 상품의 재고 개수이다. item과 price, count는 한 세트이다. order배열은 오늘 주문이 들어온 상품의 인덱스 번호이다. 단, 주문할 때마다 count 재고에서 하나씩 감소하고, 재고가 0이면 주문할 수 없다. 주문할 수 없을 때는 "주문 불가"를 출력하시오. order의 주문을 토대로 오늘 매출을 구하시오. count 리스트도 출력하시오. [정답] order = 0, count = 2,1,2,1 order = 1, count = 2,0,2,1 order = 3, count = 2,0,2,0 order = 3, 주문불가 order = 2, count = 2,0,1,0 order = 2, count = 2,0,0,0 order = 1, 주문불가 매출 = 12600 */ let item = [1001, 1002, 1003, 1004]; let price = [500, 1200, 4300, 2300]; let count = [3, 1, 2, 1]; let order = [0, 1, 3, 3, 2, 2, 1]; let total = 0; for(let i=0; i<order.length; i++) { document.write("order = " + order[i] + ", "); if(count[order[i]] > 0) { count[order[i]] -= 1; total += price[order[i]]; document.write("count = " + count + "<br>"); } else { document.write("주문불가<br>"); } } document.write(total + "<br>"); //---------------------------------------------------- total = 0; let i = 0; while(i < order.length) { document.write("order = " + order[i] + ", "); if(count[order[i]] > 0) { count[order[i]] -= 1; total += price[order[i]]; document.write("count = " + count + "<br>"); } else { document.write("주문불가<br>"); } i += 1; } document.write(total + "<br>"); </script>
Java
복사