본문 바로가기

Algorithm/Programmers lv.1

[프로그래머스] 행렬의 덧셈

https://school.programmers.co.kr/learn/courses/30/lessons/12950

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

처음엔 다음과 같이 풀었다. 당연히 오답처리다. 왜일까?

def solution(arr1, arr2):
    answer=[[]]
    for i in range(len(arr1)):
        for j in range(len(arr2)):
            answer[i][j] = arr1[i][j] + arr2[i][j]
    return answer

 

애초에 answer 리스트가 [ [ ] ]로 초기화되어 있어, 이중 리스트의 첫 번째 요소만 존재한다. 따라서 answer[ i ][ j ]에 접근할 때 인덱스 오류가 발생한다.

 

그래서 바로 다음과 같이 코드를 수정했다.

def solution(arr1, arr2):
    for i in range(len(arr1)):
        for j in range(len(arr1[0])):
            arr1[i][j] += arr2[i][j]
    return arr1

 

정답처리!