본문 바로가기

분류 전체보기59

200년간 폐관수련했더니 PS 최강자가 된 건에 대하여 from collections import namedtuplefrom sys import stdinContest = namedtuple("Contest", ["limit", "prize"])N = int(stdin.readline())contests = [ Contest(*map(int, stdin.readline().split())) for _ in range(N)]result = "Kkeo-eok"total_prize = 0max_prize = 0skip_prize = 0skip = Falsefor limit, prize in contests: if total_prize - skip_prize > limit: # 넘어간 상금 기준으로 계산 if skip: # 불참한 적이 .. 2025. 2. 18.
[Python] *, ** 사용법 패킹, 언패킹func(*iterable)iterable 객체를 언패킹하여, 개별 인자로 전달함>>> def who(a,b,c): print(a,b,c, sep =',') >> who(*[1,2,3])1, 2, 3>> who(*[0.1, 0.2, 0.3])0.1, 0.2, 0.3 func(**dict)>>> def who(a,b,c): print(a,b,c, sep =',') >> d = dict(a = 1, b = 2, c = 3)>> who(*d) # key가 전달된다.a, b, c>> who(**d) # value가 전달된다.1, 2, 3 def func(*args)값들이 튜플로 묶여서 args에 전달된다.>>> def func(*args): print(args) >> fu.. 2025. 2. 18.
[FastAPI] Best Practices - Project Structure Project StructureFastAPI 프로젝트 구조 설계 할때 참고하기 좋다.Netflaix/Dipatch를 참조하여 수정한 자료이다.fastapi-project├── alembic/├── app # 원본은 src 이지만 본인은 app 선호함.│ ├── auth│ │ ├── router.py│ │ ├── schemas.py # pydantic models│ │ ├── models.py # db models│ │ ├── dependencies.py│ │ ├── config.py # local configs│ │ ├── constants.py│ │ ├── exceptions.py│ │ ├── service.py│ │ └── ut.. 2025. 2. 14.
[SQL] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (프로그래머스/Level 3) 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krCAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가하여 자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성해주세요.이때 반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시해주시고 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요. 풀이SELECT CAR_ID, CASE WHEN CAR_ID .. 2025. 2. 11.
[SQL] SELECT 관련 함수 집계 함수 (Aggregate Functions)AVG(): 평균값 계산SUM(): 합계 구하기COUNT(): 전체 행 개수COUNT(*): 모든 행의 개수COUNT(컬럼명): NULL이 아닌 값의 개수MAX() / MIN(): 최대값과 최소값GROUP_CONCAT(): 문자열 합치기ROUND() / CEIL() / FLOOR(): 반올림, 올림, 내림 두번째 인자로 어느 자리까지 표현 정함TRUNCATE(): 지정한 자리수까지 버림상위 N개 데이터 추출 (LIMIT)LIMIT N: 결과에서 상위 N개만 출력 날짜 다루기# 날짜 범위 조회WHERE JOINED BETWEEN '2021-01-01' AND '2021-12-31'또는WHERE YEAR(JOINED) = 2021 # 날짜 포맷 변경DATE_F.. 2025. 2. 5.
0-1 Knapsack Problem 최적화 (DP 메모리) N, K = map(int, input().split())items = [ list(map(int, input().split())) for i in range(N)]# DP 메모이제이션dp = [ [0] * (K+1) for _ in range(N+1)]for i in range(1,N+1): for w in range(1,K+1): weight = items[i-1][0] value = items[i-1][1] if weight > w: dp[i][w] = dp[i-1][w] else: # 기존에 만들어 둔 w-weight 최대값 가져 오고, 비교 dp[i][w] = max(dp[i-1][w], dp[i-1][w-weight] + value)print(dp[N][K])(N+1) * (.. 2025. 1. 4.