눈송이의 개발생활
[Programmers Lv.1]행렬의 덧셈 & x만큼 간격이 있는 n개의 숫자 (Python) 본문
문제 - 행렬의 덧셈
https://programmers.co.kr/learn/courses/30/lessons/12950
내 코드
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)):
answer.append([])
for j in range(len(arr1[0])):
answer[i].append(arr1[i][j] + arr2[i][j])
return answer
다른 사람 풀이
def solution(arr1, arr2):
answer = [[c + d for c, d in zip(a, b)] for a, b in zip(arr1, arr2)]
return answer
해결 방법
나는 이중 for문으로 복잡하게 풀었는데 다른 사람의 풀이를 보고 zip함수를 알게 되었다.
zip함수에 대해 배우고 정리하는 글도 썼다!
✅ 다양한 내장함수를 배우고 쓸 수 있을 때까지 반복 연습해보자
✅ 행렬은 머리로 하기 어려우니 꼭 쓰면서 하자
문제 - x만큼 간격이 있는 n개의 숫자
https://programmers.co.kr/learn/courses/30/lessons/12954
내 코드
def solution(x, n):
answer = []
for i in range(1, n+1):
answer.append(x*i)
return answer
다른 사람 풀이
def solution(x, n):
return [i * x + x for i in range(n)]
해결 방법
파이썬은 간단하게 풀 수 있는 방법이 많은 것 같다.
그리고 프로그래머스에서 제공하는 answer 변수를 꼭 쓰지 않아도 되는 것 같은데, 나는 이미 있는 것을 사용하려고 애쓰다 보니 긴 코드가 나온다.
✅ 다음에는 더 간결하게 작성할 수 있는지 제출하기 전에 보고 고민하기
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers Lv.1]숫자 문자열과 영단어 (Python) (0) | 2022.03.23 |
---|---|
[Programmers Lv.1]콜라츠 추측 & 최대공약수와 최소공배수 (Python) (0) | 2022.03.10 |
[Programmers Lv.1]정수 제곱근 판별 & 정수 내림차순으로 배치하기 (Python) (0) | 2022.03.10 |
[Programmers Lv.1]짝수와 홀수 & 하샤드 수 (Python) (0) | 2022.03.07 |
[Programmers Lv.1]2016년 & 핸드폰 번호 가리기 (Python) (0) | 2022.03.05 |
Comments