728x90
문제
행렬의 덧셈을 하여 2차원 리스트로 출력하기
입력
arr1 = [[1,2],[2,3]]
arr2 = [[3,4],[5,6]]
출력
[[4,6],[7,9]]
문제를 푸는 것은 어려움이 없었지만 2차원 리스트에 요소를 추가할 때 어려움을 겪었다.
아래는 처음에 작성했던 코드이다.
아래처럼 answer가 빈 2차원 리스트를 생성하고 answer[y]에 요소를 추가하는 식으로 진행했다.
하지만 리스트의 범위를 벗어났다는 오류메시지가 출력되었다.
현재까지 오류의 원인을 이해하지 못하겠다.
arr1=[[1,2],[2,3]]
arr2=[[3,4],[5,6]]
answer = [[]]
for y in range(len(arr1)):
for x in range(len(arr1[y])):
answer[y].append(arr1[y][x]+arr2[y][x])
print(answer)
2차원 배열에 데이터를 추가할 때는 1차원 리스트를 생성하고 이곳에 1차원 리스트를 추가하는 식으로 진행한다.
결과적으로 [list, list, list]가 되어 2차원 리스트가 되는 것이다.
def solution(arr1, arr2):
answer = []
temp=[]
for y in range(len(arr1)):
for x in range(len(arr1[y])):
temp.append(arr1[y][x]+arr2[y][x])
answer.append(temp)
temp=[]
return answer
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[Level1] 자연수 뒤집어 배열로 만들기 (0) | 2021.01.23 |
---|---|
[Level1] 소수찾기 (0) | 2021.01.23 |
[Level1] 최대공약수와 최소공배수 (0) | 2021.01.22 |
[Level1] 제일 작은 수 제거하기 (0) | 2021.01.22 |
[Level1] 정수 제곱근 판별 (0) | 2021.01.22 |