Search

이차리스트2_문제03_관리비

대분류
STEP08 이차리스트
소분류
이차리스트2_문제

영상

문제

''' apt 리스트는 아파트 1동의 각 세대를 의미한다. pay 는 이번달 관리비를 뜻한다. ''' import random apt = [ [101, 102, 103], [201, 202, 203], [301, 302, 303] ] pay = [ [1000, 2100, 1300], [4100, 2000, 1000], [3000, 1600, 800] ] rank = [ [0,0,0], [0,0,0], [0,0,0] ] ''' [문제 1] 각 층별 관리비 합을 출력하시오. [정답 1] 4400 7100 5400 ''' print("[문제1]") ''' [문제 2] 랜덤으로 호수와 관리비 한개 출력하시오. [예시 2] 0 2 103 1300 원 ''' print("[문제2]") ''' [문제 3] 관리비가 가장 많이 나온 집, 가장 적게 나온 집을 출력하시오. [정답 3] 가장 많이 나온 집 = 201 가장 적게 나온 집 = 303 ''' print("[문제3]") ''' [문제 4] 관리비 많이나온 순서대로 rank리스트에 등수를 저장하시오. [정답 4] [7, 3, 6] [1, 4, 7] [2, 5, 9] ''' print("[문제4]")
Python
복사

해설

''' apt 리스트는 아파트 1동의 각 세대를 의미한다. pay 는 이번달 관리비를 뜻한다. ''' import random apt = [ [101, 102, 103], [201, 202, 203], [301, 302, 303] ] pay = [ [1000, 2100, 1300], [4100, 2000, 1000], [3000, 1600, 800] ] rank = [ [0,0,0], [0,0,0], [0,0,0] ] ''' [문제 1] 각 층별 관리비 합을 출력하시오. [정답 1] 4400 7100 5400 ''' print("[문제1]") for i in range(len(pay)): total = 0 for j in range(len(pay[i])): total += pay[i][j] print(total, end=" ") print() ''' [문제 2] 랜덤으로 호수와 관리비 한개 출력하시오. [예시 2] 0 2 103 1300 원 ''' print("[문제2]") rY = random.randint(0, 2) rX = random.randint(0, 2) print(rY, rX) print(apt[rY][rX], pay[rY][rX], "원") ''' [문제 3] 관리비가 가장 많이 나온 집, 가장 적게 나온 집을 출력하시오. [정답 3] 가장 많이 나온 집 = 201 가장 적게 나온 집 = 303 ''' print("[문제3]") maxPay = 0 maxY = 0 maxX = 0 minPay = 4100 minY = 0 minX = 0 for i in range(len(pay)): for j in range(len(pay[i])): if maxPay < pay[i][j]: maxPay = pay[i][j] maxY = i maxX = j if minPay > pay[i][j]: minPay = pay[i][j] minY = i minX = j print("가장 많이 나온 집 =", apt[maxY][maxX]) print("가장 적게 나온 집 =", apt[minY][minX]) ''' [문제 4] 관리비 많이나온 순서대로 rank리스트에 등수를 저장하시오. [정답 4] [7, 3, 6] [1, 4, 7] [2, 5, 9] ''' print("[문제4]") temp = [] for i in range(len(pay)): for j in range(len(pay[i])): temp.append(pay[i][j]) y = 0 x = 0 for i in range(len(temp)): count = 1 for j in range(len(temp)): if temp[i] < temp[j]: count += 1 rank[y % 3][x % 3] = count x += 1 if i % 3 == 2: y += 1 for i in range(len(rank)): print(rank[i])
Python
복사