일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 팀프로젝트
- data analyst
- 크롤링
- 태블로
- da
- 최종 프로젝트
- If
- 프롬프트 엔지니어링
- SQL
- 시각화
- 데이터분석
- Python
- 히트맵
- cross join
- streamlit
- jd
- 머신러닝
- SQLD
- 데이터 분석
- 프로젝트
- 서브쿼리
- Chat GPT
- 기초프로젝트
- pandas
- 클러스터링
- lambda
- 전처리
- 기초통계
- 군집화
- GA4
- Today
- Total
세조목
PYTHON 정리(프로그래머스 - '행렬의 덧셈')(24.01.21) 본문
금일은 프로그래머스 PYTHON 예제 中 '행렬의 덧셈' 을 풀어보았다.
1시간 정도 고민했으나 답이 나오지 않아서 풀이를 참고했는데
자료형에 대한 이해가 부족했던 것 같다.
https://school.programmers.co.kr/learn/courses/30/lessons/12950
문제에서는 2개의 행렬 arr1과 arr2의 같은 행, 열의 값을 서로 더한 값을 반환하라고한다.
2개의 행렬 arr1과 arr2는 행과 열의 크기가 같으며
행과 열의 길이는 500을 넘지 않는다고한다.
풀이를 보면서 한번 정리해보겠다.
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)):
answer.append([])
for j in range(len(arr1[0])):
answer[i].insert(j,arr1[i][j]+arr2[i][j])
return answer
코드는 간단하다.
for 반복문을 활용하는데
리스트 안에 리스트가 들어있기때문에 for문을 총 두 번 활용한다.
첫번째 for문은 바깥쪽 리스트의 순서를
두번째 for문은 안쪽 리스트의 순서를
나타낸다.
여기서 유의해야할 점은 첫번째 for문을 돌릴때 대괄호 '[ ]'를 answer리스트에 매번 넣어줘야한다는 점이다.
그래야지 arr1과 arr2 리스트 안에 있는 리스트의 개수만큼 answer 리스트에 리스트를 넣어줄 수 있기때문이다.
두번째 for문에서는 각각의 행렬 속 같은 행, 열의 값을 서로 더한 값을 answer리스트에 넣어준다.
이 때 append가 아닌 insert를 사용하는 이유는 값을 넣어주는 위치를 정확히 지정해주기 위함이다.
append메서드와 insert 메서드의 차이점은 아래 포스팅을 참고하면 된다.
2024.01.21 - [데이터 분석 공부/Python] - PYTHON 정리(append, insert 차이)(24.01.21)
또 한가지 유의해야할 점이 있는데
그냥 answer.insert( )를 입력하는 것이 아니라
answer[i].insert( )를 입력해야한다는 점이다.
만약 answer.insert( )를 입력하면
answer 리스트 안에 요소가 들어가는 것이지
answer 리스트 안 리스트에 요소가 들어가지 않게된다.
아래 예시를 보면 한번에 이해가 될 것이다.
answer = [[]]
answer.insert(0,3)
>>> answer = [3, []]
answer[0].insert(0,3)
>>> answer = [[3]]
예제에서의 경우 answer 리스트 속
i번째 리스트 안 j번째 자리에 arr1[i][j] + arr2[i][j]를 넣어야하므로
answer[i].insert(j, arr1[i][j] + arr2[i][j])를 입력해준다.
'데이터 분석 공부 > Python' 카테고리의 다른 글
Python 정리(데이터 전처리)(indexing, 컬럼 관련, 데이터 확인(info, describe, isna, notna, fillna, dtype), astype, 데이터 병합(merge, concat, join), groupby, 피벗, sort_values)(24.01.24) (0) | 2024.01.24 |
---|---|
VSCode 폰트 크기 마우스 휠로 조절하는 방법 (0) | 2024.01.24 |
PYTHON 정리(append, insert 차이)(24.01.21) (0) | 2024.01.21 |
PYTHON 정리(프로그래머스 - 문자열 다루기 기본)(feat. 내가 희열을 느낄때)(24.01.20) (0) | 2024.01.20 |
PYTHON 정리(점프투파이썬 - 모듈)(24.01.20) (0) | 2024.01.20 |