나의 풀이
def solution(arr1, arr2):
answer = []
for i,j in zip(arr1, arr2) :
answer.append([x+y for x,y in zip(i,j)])
return answer
arr1 이 [[1,2],[2,3]] arr2 가 [[3,4],[5,6]] 일 때를 가정하자.
zip함수를 사용하면 for문을 처음 돌 때 i는 [1,2], j는 [3,4] 가 되어 이차원을 일차원로 한 층 벗겨낸다.
이 i와 j의 원소들을 더해 하나의 리스트로 만들어야 하므로, zip함수를 한 번 더 사용해야 한다.
따라서 x는 1 y는 3이 되어 이를 더한 4와 ,
x는 2 y는 4가 되어 이를 더한 6,
즉 [4,6] 이라는 하나의 list 가 answer 가 append된 것이다.
참고로 아래 함수를 한줄코드로 줄이기 위해 [x+y for x,y in zip(i,j)] 로 사용하였다.
tmp = []
for x,y in zip(i,j) :
tmp.append(x+y)
answer.append(tmp)
'알고리즘 > 이것저것' 카테고리의 다른 글
[프로그래머스] 핸드폰 번호 가리기 - 파이썬(python) (0) | 2022.09.01 |
---|---|
[프로그래머스] x만큼 간격이 있는 n개의 숫자 - 파이썬(python) (0) | 2022.09.01 |
[프로그래머스] 2022 KAKAO TECH INTERNSHIP 성격 유형 검사하기 - 파이썬(python) (0) | 2022.09.01 |
[Python] 백준 10825번: 국영수 (0) | 2021.03.09 |
[Python] 백준 10814번: 나이순 정렬 (0) | 2021.03.08 |
댓글