Loading...
2024. 4. 13. 00:07

functools.partial을 이용하여 기존 함수를 재활용한 새로운 함수 만들기

딱히 쓸 일 없을 것 같은데 예전에 공부한 내용에 적혀있었으니 정리는 해놔야지 functools.partial을 이용하면 기존 함수를 재활용하여 새로운 함수를 정의할 수 있다 https://wikidocs.net/109304 031 기존 함수로 새로운 함수를 만들려면? ― functools.partial functools.partial()은 하나 이상의 인수가 이미 채워진 새 버전의 함수를 만들 때 사용하는 함수이다. ## 문제 다음은 입력한 인수의 합과 곱을 choice값에… wikidocs.net 여기 예시 설명이 잘되어있네 보통 코딩하다보면 인자에 따라 다른 기능을 가지는 함수를 만들때가 있는데 다음 함수는 인자로 add와 mul에 따라 args로 준 인자들을 add하거나 mul하는 함수 def a..

100부터 1000000000000000까지 모든 정수의 최대공약수는 어떻게 구할 수 있을까

SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com a이상 b이하의 모든 정수의 최대공약수를 구하는 문제 a,b는 1부터 $10^{100}$까지이다. 예를 들어 {70, 105, 42}의 최대공약수는... 70과 105의 최대공약수는 35이고, 35와 42의 최대공약수는 7이므로, 70,105,42의 최대공약수는 7이다. 그러면 gcd(a,a+1,a+2,...,b)를 구하는 문제인데 a,a+1의 최대공약수를 g라 하면 g,a+2의 최대공약수 g, g,b의 최대공약수를 구하면 된다. 그런데 a,b가 최대 $10^{100}$이므로, 이렇게 구하면 시간초과 날것이다 https://deep..

2024. 3. 17. 22:08

FastAPI에서 return할 때 ValueError: TypeError("'numpy.float32' object is not iterable") 해결하기

print는 잘 되는걸 보면 값이 정상인데 프론트로 return할려면 에러가 난다 FastAPI에서 numpy.* 데이터 타입을 지원하지 않기 때문에 에러가 난다 문제가 되는 numpy value에서 *.item()으로 python value로 가져와서 저장하고 그러면 정상적으로 return할 수 있다

2024. 2. 17. 02:15

-1 의 50만 거듭제곱을 -1**(500000)으로 하면 안되는 이유

파이썬에서 어떤 정수의 거듭제곱을 구한다면 **을 사용한다 print(3**2) 9 그런데 사실 -1의 거듭제곱은 홀수번 거듭제곱하면 -1이고 짝수번 거듭제곱하면 1이다. 그래서 단순히 n이 짝수인지 홀수인지에 따라 (-1)**(n)을 바로 계산할 수 있다 그래봤자 큰 차이 없는거 그냥 하면 되는거 아니냐? 라고 생각할 수 있는데, 한두번 계산하는건 크게 차이 없지만 n이 충분히 클때 (-1)**(n)을 여러번 계산하면 시간차이가 3~4배 정도로 차이가 난다

2023. 11. 14. 02:18

2차원 배열에서의 누적합 배열을 구하는 방법 배우기

1. 문제 11660번: 구간 합 구하기 5 (acmicpc.net) 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 2. 풀이 좌상단이 (0,0)이고 우하단이 (x,y)인 직사각형내의 모든 원소 합을 dp[y][x]라고 정의한다. 예를 들어 다음 그림을 보면... dp[3][4]는?? dp[3][4] = 1+2+3+4+2+3+4+5+3+4+5+6을 뜻하게 된다. 어떻게 하면 이전에 구해놓은 합을 이용해서 쉽게 구할 수 있을까? 다음과 같이 x = 0 ~ n, y = ..

2023. 7. 5. 02:12

gitignore로 필요한 소스코드만 올리기

프로젝트의 모든 파일을 git에 업로드하지 않고, 반드시 필요한 소스코드만 올리기 위해 사용 예를 들어 위 프로젝트에 포함된 파이썬의 가상환경 venv를 git에 업로드할려고 한다면... 필요없는 파일들이 올라가면서 시간이 매우 오래걸린다 구글에 gitignore라고 검색하면 맨 위에 www.toptal.com 들어가면 된다 https://www.toptal.com/developers/gitignore gitignore.io Create useful .gitignore files for your project www.toptal.com 들어가면 프로젝트에 사용된 프레임워크, 언어를 입력해준다.. 여기서는 예를 들어 python, django, vuejs 그리고 생성을 눌러주면 다음과 같이 수많은 텍스트가..