[Python] 행렬 덧셈 - 2차원 배열

Saemi Min·2023년 2월 6일
0

BaekJoon

목록 보기
4/30
post-thumbnail

해당 문제 링크

풀이

N, M =map(int, input().split())

A, B=[], []

for _ in range(N):
    row=list(map(int, input().split()))
    A.append(row)

for _ in range(N):
    row=list(map(int, input().split()))
    B.append(row)

for i in range(N):
    for j in range(M):
        print(A[i][j]+B[i][j], end=' ')
    print()

Git - 코드

해석

값을 받아서 리스트에 넣고 리스트끼리 합해서 결과를 나오게 접근하고자 했다. 하지만, 입력을 입력한 값에 따라 연속으로 받는 형식으로 들어가는 방법을 몰라 검색하여 참고하였다.

map을 활용하여 숫자 쪼개서 입력 받기
split과 map 함수를 활용해서 숫자를 다중 입력받을 수 있다.
map 함수는 map(적용할 함수, 적용할 값)으로 활용

str_list = ['1', '2']
a, b = map(int,str_list)
print(type(a),type(b)) #<class 'int'> <class 'int'>
print(a,b) //1 2
a, b, c = map(int, input().split())
print(type(a),type(b),type(c)) #<class 'int'> <class 'int'> <class 'int'>
print(a,b,c) #1 10 100

행렬이므로 이차원 배열로 들어가게 된다
그렇기 때문에 list() 함수 사용해야 한다.

for _ in range(N):
    row=list(map(int, input().split()))
    A.append(row)

출력하면서 중간에 공백을 넣어줘야 하기 때문에 end=' '를 넣어준다.

print(A[i][j]+B[i][j], end=' ')

코드를 참고하여 작성했기 때문에 이후에 문제를 다시 풀어볼 예정이다!!

profile
I believe in myself.

0개의 댓글