Search

배열6_개념10_인풋쇼핑

대분류
STEP05 배열
소분류
배열6_개념

영상

문제

package 배열6_개념; /* [문제] 아래 3개의 배열은 각각 다음과 같은 역할을 한다. nameList = 상품이름 priceList = 상품가격 countList = 상품개수 즉, 현재 재고는 새우깡 3개, 감자깡 1개, 고래밥 1개 있다. input 배열은 오늘 주문이 들어온순서이다. 주문이 들어올 때마다 countList배열의 값을 1감소 시킨다. 총 매출을 출력해보자. [예] 첫번째 1 ==> 감자깡의 개수는 1이므로 판매할수있다. [예] 두번째 2 ==> 고래밥의 개수는 1이므로 판매할수있다. [예] 세번째 2 ==> 고랩밥의 개수가 이미 두번째에서 구입해서 0이되므로 판매불가. [예] .... 나머지도 계산해보자. [정답] 주문은 총 새우깡 2개 , 감자깡 3개, 고래밥 3개 들어왔지만 재고 수량은 그보다 부족하기 때문에 실제 판매한 품목은 새우깡 2개, 감자깡 1개, 고래밥 1개 이다. 7400원 */ public class 배열6_개념10_인풋쇼핑_문제 { public static void main(String[] args) { String[] nameList = {"새우깡" , "감자깡" , "고래밥"}; int[] priceList = {1000, 2100, 3300}; int[] countList = {3,1,1}; int[] input = {1,2,2,0,0,2,1,1}; int[] sel = {0, 0, 0}; } }
Java
복사

해설

package 배열6_개념; import java.util.Arrays; /* [문제] 아래 3개의 배열은 각각 다음과 같은 역할을 한다. nameList = 상품이름 priceList = 상품가격 countList = 상품개수 즉, 현재 재고는 새우깡 3개, 감자깡 1개, 고래밥 1개 있다. input 배열은 오늘 주문이 들어온순서이다. 주문이 들어올 때마다 countList배열의 값을 1감소 시킨다. 총 매출을 출력해보자. [예] 첫번째 1 ==> 감자깡의 개수는 1이므로 판매할수있다. [예] 두번째 2 ==> 고래밥의 개수는 1이므로 판매할수있다. [예] 세번째 2 ==> 고랩밥의 개수가 이미 두번째에서 구입해서 0이되므로 판매불가. [예] .... 나머지도 계산해보자. [정답] 주문은 총 새우깡 2개 , 감자깡 3개, 고래밥 3개 들어왔지만 재고 수량은 그보다 부족하기 때문에 실제 판매한 품목은 새우깡 2개, 감자깡 1개, 고래밥 1개 이다. 7400원 */ public class 배열6_개념10_인풋쇼핑_정답 { public static void main(String[] args) { String[] nameList = {"새우깡" , "감자깡" , "고래밥"}; int[] priceList = {1000, 2100, 3300}; int[] countList = {3,1,1}; int[] input = {1,2,2,0,0,2,1,1}; int[] sel = {0, 0, 0}; int total = 0; for(int i=0; i<input.length; i++) { if(countList[input[i]] > 0) { countList[input[i]] -= 1; sel[input[i]] += 1; total += priceList[input[i]]; } } System.out.println(Arrays.toString(countList)); System.out.println(Arrays.toString(sel)); System.out.println(total); } }
Java
복사