문제 www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 풀이 주어진 배열에서 구할 수 있는 순열을 모두 구한 뒤, 각 순열에 식을 적용하여 최댓값을 구한다. 코드 import sys, itertools def cal_max(candi): result = 0 for i in range(1, len(candi)): result += abs(candi[i-1] - candi[i]) return result n = int(sys.stdin.readline().strip()) arr..
문제 www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 풀이 이전에 풀었던 베르트랑 공준과 비슷한 문제이다. 아래와 같이 소수를 구하는 방법은 O(n^2)의 시간을 가지므로 n이 최대 1,000,000이 될 수 있는 이 문제에 적합하지 않다. # O(n^2)의 시간 n=100 def isPrime(a): if(a
문제 Window warning: LF will be replaced by CRLF in /~. The file will have its original line endings in your working directory. Linux / MacOS warning: CRLF will be replaced by LF in /~. The file will have its original line endings in your working directory. 해결 운영체제마다 개행문자의 처리가 달라 발생하는 문제다. 전역(--global)옵션을 주면 모든 파일에서 적용된다. # Windows git config [--global] core.autocrlf true # Linux/MacOS git config ..
문제 www.acmicpc.net/problem/1949 1949번: 우수 마을 첫째 줄에 정수 N이 주어진다. (1≤N≤10,000) 둘째 줄에는 마을 주민 수를 나타내는 N개의 자연수가 빈칸을 사이에 두고 주어진다. 1번 마을부터 N번 마을까지 순서대로 주어지며, 주민 수는 10,000 www.acmicpc.net 풀이 n번 마을을 우수 마을로 선정하면 인접한 마을은 모두 우수 마을로 선정할 수 없다. 또한, n번 마을을 우수 마을로 선정하지 않은 상태에서 인접한 마을을 모두 우수 마을로 선정하는 것이 최적해를 보장하지는 않는다. 이 문제는 서브트리의 가중치의 합을 구하는 문제이다. 이를 dfs와 동적계획법으로 풀 수 있다. dp[n][1]은 n번 마을을 우수마을로 선정했을 경우에 우수 마을의 주민 ..
1. Passing list in query parameters FastAPI로 개발도중 웹 페이지에서 여러 조건을 선택한 후 쿼리를 보내고자 했는데, 쿼리 매개변수에 리스트가 제대로 전달되지 않는 문제가 발생했다. 카테고리/종류/가격대: 선택할 수 있는 조건들(다중 선택 가능) -> 쿼리에 숫자형태(pk)로 전달된다. 선택한 조건에 따라 해당되는 메뉴들만 반환받고자 한다. 2. DB Router Result 정상적으로 잘 출력되는 것을 확인할 수 있다. 여담이지만 프레임워크 내에서 Swagger UI를 지원하는 점이 정말 편한 것 같다.