Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- class
- MySQL
- Sequelize
- cookie
- Dinosaur
- nodejs
- react
- jest
- MongoDB
- 게임
- typeORM
- 정렬
- 자료구조
- GIT
- Queue
- Python
- Express
- Nest.js
- 공룡게임
- game
- JavaScript
- flask
- OCR
- Bull
- AWS
- dfs
- mongoose
- nestjs
- TypeScript
Archives
- Today
- Total
포시코딩
12월25일 본문
728x90
알고리즘 문제에 대한 다양한 풀이법에서 얻는 지식들
numpy
내가 지금까지 알고 있던 단순한 배열이 아닌
다차원 배열에 대해 계산할 때 사용하는 Python의 라이브러리이다.
비록 모든 코딩테스트에서 지원할지 미지수이지만
실제로 행렬 곱셈이나 여러 다차원 배열에 고려해야 되는 상황이 있을 수 있으므로
짚고 넘어갈 필요성이 있었다.
행렬의 덧셈에 대해 나는 단순히 for문과 zip을 써서 구했는데
for arr12 in zip(arr1, arr2):
temp = []
for x in zip(*arr12):
temp.append(sum(x))
answer.append(temp)
zip() 함수를 몰랐으면 매우 힘들게 구했을 것이다.
하지만 numpy를 쓴다면 이렇게 단순해진다.
import numpy as np
arr1 = np.array(arr1)
arr2 = np.array(arr2)
answer = arr1 + arr2
행렬을 만들어 두 행렬을 더한걸로 보이는데
문제가 워낙 단순해서 나중에 다시 numpy를 사용할 일이 생겼을 때 이번일을 계기로
좀 더 명확히 알 수 있을 것 같다.
lambda
Python을 사용하며 자주 보았고 예전에 Java를 다룰 때에도 얼핏 봤던 람다(lambda) ..
막상 알아보니 실상은 그냥 Javascript에서의 익명함수였다.
lambda 표현식 : 매개변수
단순히 이렇게 사용하면 끝이었는데 map(), filter()등의 함수와 같이 사용한다면 매우 강력한 무기가 될 것으로 보인다.
이제 좀 익숙하게 사용이 가능해진 리스트 컴프리헨션과 더불어 사용한다면
복잡한 for문과 if문들을 다룰 때 좀 더 깔끔하고 좋은 코드로 작성할 수 있겠다.
728x90