Search

이차배열2_문제03_관리비

대분류
STEP08 이차배열
문제 난이도
LV04
소분류
이차배열2_문제

영상

문제

<script> /* [문제] apt배열은 아파트 1동의 각 세대를 의미한다. pay배열은 이번달 관리비를 뜻한다. 아래 문제를 잘 읽고 정답을 구하시오. */ let apt = [ [101, 102, 103], [201, 202, 203], [301, 302, 303] ]; let pay = [ [1000, 2100, 1300], [4100, 2000, 1000], [3000, 1600, 800] ]; /* [문제 1] 각 층별 관리비 합을 출력하시오. [정답 1] 4400 7100 5400 */ /* [문제 2] 랜덤으로 호수와 관리비 한개 출력하시오. [예시 2] 0 2 103 1300원 */ /* [문제 3] 관리비가 가장 많이 나온 집, 가장 적게 나온 집을 출력하시오. [정답 3] 가장 많이 나온 집 = 201 가장 적게 나온 집 = 303 */ </script>
Java
복사

해설

<script> /* [문제] apt배열은 아파트 1동의 각 세대를 의미한다. pay배열은 이번달 관리비를 뜻한다. 아래 문제를 잘 읽고 정답을 구하시오. */ let apt = [ [101, 102, 103], [201, 202, 203], [301, 302, 303] ]; let pay = [ [1000, 2100, 1300], [4100, 2000, 1000], [3000, 1600, 800] ]; /* [문제 1] 각 층별 관리비 합을 출력하시오. [정답 1] 4400 7100 5400 */ for(let i=0; i<pay.length; i++) { let total = 0; for(let j=0; j<pay[i].length; j++) { total += pay[i][j]; } document.write(total + " "); } document.write("<br>"); /* [문제 2] 랜덤으로 호수와 관리비 한개 출력하시오. [예시 2] 0 2 103 1300원 */ let index1 = Math.floor(Math.random() * 3); let index2 = Math.floor(Math.random() * 3); document.write(index1 + " " + index2 + "<br>"); document.write(apt[index1][index2] + " " + pay[index1][index2] + "원<br>"); /* [문제 3] 관리비가 가장 많이 나온 집, 가장 적게 나온 집을 출력하시오. [정답 3] 가장 많이 나온 집 = 201 가장 적게 나온 집 = 303 */ let maxPay = 0; let y = 0; let x = 0; for(let i=0; i<pay.length; i++) { for(let j=0; j<pay[i].length; j++) { if(maxPay < pay[i][j]) { maxPay = pay[i][j]; y = i; x = j; } } } document.write("가장 많이 나온 집 = " + apt[y][x] + "<br>"); let minPay = maxPay; y = 0; x = 0; for(let i=0; i<pay.length; i++) { for(let j=0; j<pay[i].length; j++) { if(minPay > pay[i][j]) { minPay = pay[i][j]; y = i; x = j; } } } document.write("가장 적게 나온 집 = " + apt[y][x] + "<br>"); </script>
Java
복사