알고리즘&자료구조

[알고리즘] 중첩 for문 문제

kinggoddino 2024. 7. 22.

스쿼드

 

▶ 문제1

구구단 만들기

def multi_table():                      # 구구단함수 선언
    for i in range(2,10):               # i에 반복할당, 곱해지는숫자 2~9
        for j in range(1,10):           # j에 반복할당, 곱해줄숫자 1~9 
            print(f'{i} x {j} = {i*j}') # i X j = ij 출력
        print()                         # j의 반복이 끝나면 빈줄 출력
        
multi_table()                           # 구구단함수 호출

▶ 문제2

각 엘리먼트 다 더하기

a = [[1,2,3], [4,5,6], [7,8,9]]

def sum_elements(matrix):              # 함수정의, 행렬 받아오기
    total = 0                          # 숫자 담을 변수선언, 초기값 0
    for r in range(len(matrix)):       # r에 반복할당 : 0 ~ 행렬길이-1
        row = matrix[r]                # 변수선언 row = 행렬의 r번째 인덱스값
        for e in range(len(row)):      # e에 반복할당 : 0 ~ 행길이-1
            total += row[e]            # 행의 e번째 인덱스값을 total에 더함
    return total                       # 완성된 total 반환
            
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]  # 예시 행렬 a
print(sum_elements(a))                 # 잘되는지 출력   # 45

▶ 문제3

두 개의 리스트 모든 요소 덧셈해서 결과 출력하기

list1 = [1,2,3]

list2 = [4,5,6]

def sum_pairs(list_1, list_2):      # 함수정의, 리스트 두개 받기
    for i in list_1:                # i에 반복할당 : 1번째리스트의 요소
        for j in list_2:            # j에 반복할당 : 2번째리스트의 요소
            print(i+j, end=' ')     # i+j 출력, 엔터취소 공백생성
        
list1 = [1, 2, 3]                   # 예시 리스트
list2 = [4, 5, 6]                   # 예시 리스트
sum_pairs(list1, list2)             # 5 6 7 6 7 8 7 8 9