Search

클래스1_문제02_상품통계

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

영상

문제

<script> /* [문제] member는 회원목록이다. item은 쇼핑몰 판매상품이다. order는 오늘 주문목록이다. Member, Item, Order 클래스를 만들고, 문자열을 잘라 각각의 클래스에 저장 후 회원별 아이템 주문개수를 출력하시오. [정답] 이만수: 고래밥 3 김철민: 고래밥 1 칸쵸 1 이영희: 새우깡 2 칸쵸 1 */ let member = "3001/이만수,3002/김철민,3003/이영희"; let item = "1001/고래밥,1002/새우깡,1003/칸쵸"; let order = "3001,1001/3001,1001/3003,1002/3002,1003/3001,1001/3003,1002/3003,1003/3002,1001"; </script>
Java
복사

해설

<script> /* [문제] member는 회원목록이다. item은 쇼핑몰 판매상품이다. order는 오늘 주문목록이다. Member, Item, Order 클래스를 만들고, 문자열을 잘라 각각의 클래스에 저장 후 회원별 아이템 주문개수를 출력하시오. [정답] 이만수: 고래밥 3 김철민: 고래밥 1 칸쵸 1 이영희: 새우깡 2 칸쵸 1 */ class Member { memberNum = 0; memberName = ""; } class Item { itemNum = 0; itemName = ""; } class Order { memberNum = 0; itemNum = 0; } let member = "3001/이만수,3002/김철민,3003/이영희"; let item = "1001/고래밥,1002/새우깡,1003/칸쵸"; let order = "3001,1001/3001,1001/3003,1002/3002,1003/3001,1001/3003,1002/3003,1003/3002,1001"; let memberList = []; let itemList = []; let orderList = []; let token = member.split(","); for(let i=0; i<token.length; i++) { let temp = token[i].split("/"); let member = new Member(); member.memberNum = Number(temp[0]); member.memberName = temp[1]; memberList.push(member); } token = item.split(","); for(let i=0; i<token.length; i++) { let temp = token[i].split("/"); let item = new Item(); item.itemNum = Number(temp[0]); item.itemName = temp[1]; itemList.push(item); } token = order.split("/"); for(let i=0; i<token.length; i++) { let temp = token[i].split(","); let order = new Order(); order.memberNum = Number(temp[0]); order.itemNum = Number(temp[1]); orderList.push(order); } let resultList = []; for(let i=0; i<memberList.length; i++) { let info = [memberList[i].memberName]; for(let j=0; j<itemList.length; j++) { let count = 0; for(let k=0; k<orderList.length; k++) { if(memberList[i].memberNum == orderList[k].memberNum) { if(itemList[j].itemNum == orderList[k].itemNum) { count += 1; } } } info.push(count); } resultList.push(info); } for(let i=0; i<resultList.length; i++) { document.write(resultList[i][0] + " : "); for(let j=0; j<itemList.length; j++) { if(resultList[i][j + 1] > 0) { document.write(itemList[j].itemName + " " + resultList[i][j + 1] + "개 "); } } document.write("<br>"); } </script>
Java
복사