Practice 5 : 자료 구조¶
복잡한 자료구조의 (2차원 리스트) 반복문
복잡한 리스트의 합¶
2차원 리스트를 반복하는 방법을 알아봅시다.
주어진 아래의 리스트를 반복하여 숫자의 합을 반환하시오.
예시 입력
numbers = [
[1, 4],
[10, 5],
[20, 30]
]
예시 출력
sum_list([[1, 4], [10, 5], [20, 30]]) # 70
for 문을 활용하여 풀이하기¶
for element in list:
# 아래에 코드를 작성하세요.
def sum_list(numbers):
total = 0
for num_list in numbers:
for number in num_list:
total += number
return total
print(sum_list([[1, 4], [10, 5], [20, 30]]))
70
Index로 접근하여 풀이하기¶
for element in range(len(list)):
# 아래에 코드를 작성하세요.
def sum_list_index(numbers):
total = 0
for idx in range(len(numbers)):
for sub_idx in range(len(numbers[idx])):
total += numbers[idx][sub_idx]
return total
print(sum_list_index([[1, 4], [10, 5], [20, 30]]))
70
while 문을 활용하여 풀이하기¶
while ____:
## 아래에 코드를 작성하세요.
def sum_list_while(numbers):
total = 0
while numbers:
sub_numbers = numbers.pop()
while sub_numbers:
total += sub_numbers.pop()
return total
print(sum_list_while([[1, 4], [10, 5], [20, 30]]))
70
시험 점수¶
2차원 배열
A반 학생들의 점수는 아래와 같고, students 리스트에 저장되어 있다.
A학생(국어 100점, 수학 80점, 영어 100점)
B학생(국어 90점, 수학 90점, 영어 60점)
C학생(국어 80점, 수학 80점, 영어 80점)
students = [
[100, 80, 100],
[90, 90, 60],
[80, 80, 80]
]
학생별 출력¶
아래의 리스트를 반복하여 학생별 총합을 순서대로
출력
하시오.sum
함수 사용 금지
예시 입력
students = [
[100, 80, 100],
[90, 90, 60],
[80, 80, 80]
]
예시 출력
280
240
240
students = [
[100, 80, 100],
[90, 90, 60],
[80, 80, 80]
]
# 아래에 풀이를 작성하세요. 함수 정의는 필요없습니다.
for lst in students:
student_total = 0
for grade in lst:
student_total += grade
print(student_total)
280
240
240
과목별 출력¶
아래의 리스트를 반복하여 과목별 총합을 순서대로
출력
하시오.sum
함수 사용 금지
예시 입력
students = [
[100, 80, 100],
[90, 90, 60],
[80, 80, 80]
]
예시 출력
270
250
240
students = [
[100, 80, 100],
[90, 90, 60],
[80, 80, 80]
]
# 아래에 풀이를 작성하세요. 함수 정의는 필요없습니다.
subject1 = 0
subject2 = 0
subject3 = 0
for lst in students:
subject1 += lst[0]
subject2 += lst[1]
subject3 += lst[2]
print(subject1)
print(subject2)
print(subject3)
270
250
240