나의 풀이
def solution(arr1, arr2):
result = [[0 for _ in range(len(arr1[0]))] for _ in range(len(arr1))]
print(result)
for i in range(len(arr1)):
for j in range(len(arr1[0])):
result[i][j] = arr1[i][j] + arr2[i][j]
return result
다른 사람의 풀이
def solution(arr1, arr2):
answer = [[c + d for c, d in zip(a, b)] for a, b in zip(arr1,arr2)]
return answer
▶ for a,b in zip(arr1, arr2)
▶ arr1, arr2은 2차원 리스트를 의미하며, 의미하며, a,b는 arr1과 arr2에 대한 행(row) 즉 1차원 리스트를 의미한다.
아래와 같이 2차원 배열을 선언하면 안 된다!!!!!!!!!!!!!!!!!
answer = [[0] * len(arr1[0]) ] * len(arr1)
출처를 밝힙니다.
'프로그래머스(파이썬) > LV.1(파이썬)' 카테고리의 다른 글
이상한 문자 만들기★★ - 이중 for문으로 긴 문장 한글자씩 접근하기 + idx변수를 이용한 인덱스 통제 + 문자열 합치기 (0) | 2022.12.16 |
---|---|
같은 숫자는 싫어 → 이전값을 저장하기 위한 임시변수(value)★★+중복제거★★ (0) | 2022.12.15 |
부족한 금액 계산하기 (0) | 2022.12.15 |
문자열 다루기 기본→String클래스의 isdigit() + in 연산자★★ (0) | 2022.12.15 |
내적→리스트 곱하기 +zip()★ (0) | 2022.12.15 |