Chef.Yeon
Code Cook
Chef.Yeon
전체 방문자
오늘
어제
  • 분류 전체보기 (230)
    • 게임 개발 (1)
      • Unity (1)
    • Android (27)
      • Kotlin (19)
      • 우아한테크코스 5기 (4)
    • Language (11)
      • 파이썬 (3)
      • Java (7)
    • DB (2)
      • SQL (16)
    • Spring (25)
    • 코딩테스트 (56)
    • Git (1)
    • TIL (85)
    • DevOps (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • rsocket
  • Wil
  • java
  • 레포지토리
  • grafana
  • 프로그래머스
  • 코틀린
  • spring
  • 문자열
  • MariaDB
  • 내림차순
  • 프리코스
  • til
  • SQL
  • 우아한테크코스
  • 코틀린 인 액션
  • 다이나믹 프로그래밍
  • 백준
  • 안드로이드
  • 파이썬
  • 에라토스테네스의 체
  • Android
  • kibana
  • 코딩테스트
  • Docker
  • enum
  • kotlin
  • webflux
  • ec2
  • elasticsearch

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Chef.Yeon

Code Cook

코딩테스트

[프로그래머스/파이썬] 행렬의 덧셈

2022. 9. 25. 03:54

문제 설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.

 

제한 조건

  • 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

 

입출력 예

arr1 arr2 return
[[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]]
[[1],[2]] [[3],[4]] [[4],[6]]

 

내 풀이

행과 열의 길이가 같으므로 arr1을 기준으로 행과 열의 개수를 셈

arr1과 arr2의 같은 행, 열 값을 더하여 arr1 행,열에 대입

arr1의 바뀐 값은 다시 참고하지 않으므로 바꾸어도 상관없음

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

 

다른 사람 풀이1

zip을 이용

zip을 통해 A, B 두 개의 배열 데이터를 엮음

A = [[1,2],[2,3]]  B = [[3,4],[5,6]] 이라면

첫 번째 for 문에서 a = [1,2] b = [3,4]

a,b를 다시 zip으로 묶음

첫 번째 for문에서 c = 1 d = 3 -> c+d = 4

두 번째 for문에서 c = 2 b = 4 -> c+d = 6

[4,6] 인 리스트 생성

바깥의 for 문 다시 수행

def sumMatrix(A,B):
    answer = [[c + d for c, d in zip(a, b)] for a, b in zip(A,B)]
    return answer

 

다른 사람 풀이2

numpy를 import 하여 사용

A,B를 넘파이 배열로 만들고 A+B 연산을 통해 행과 열을 더함

tolist()를 통해 array를 list로 변환하여 return

import numpy as np
def sumMatrix(A,B):
    A=np.array(A)
    B=np.array(B)
    answer=A+B
    return answer.tolist()
728x90

'코딩테스트' 카테고리의 다른 글

[프로그래머스/파이썬] 직사각형 별찍기  (0) 2022.09.25
[프로그래머스/파이썬] 부족한 금액 계산하기  (0) 2022.09.25
[프로그래머스/파이썬] 약수의 개수와 덧셈  (0) 2022.09.25
[프로그래머스/파이썬] 문자열 다루기 기본  (0) 2022.09.24
[프로그래머스/파이썬] 문자열 내림차순으로 배치하기  (0) 2022.09.24
    '코딩테스트' 카테고리의 다른 글
    • [프로그래머스/파이썬] 직사각형 별찍기
    • [프로그래머스/파이썬] 부족한 금액 계산하기
    • [프로그래머스/파이썬] 약수의 개수와 덧셈
    • [프로그래머스/파이썬] 문자열 다루기 기본
    Chef.Yeon
    Chef.Yeon
    보기 좋고 깔끔한 코드를 요리하기 위해 노력하고 있습니다.

    티스토리툴바