눈송이의 개발생활

[Programmers Lv.1]행렬의 덧셈 & x만큼 간격이 있는 n개의 숫자 (Python) 본문

Algorithm/Programmers

[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 변수를 꼭 쓰지 않아도 되는 것 같은데, 나는 이미 있는 것을 사용하려고 애쓰다 보니 긴 코드가 나온다. 

 

✅ 다음에는 더 간결하게 작성할 수 있는지 제출하기 전에 보고 고민하기 

Comments