본문 바로가기

전체 글625

[파이썬, 자바] 백준 12865 : 평범한 배낭 (골드5) [파이썬, 자바] 백준 12865 : 평범한 배낭 (골드5)https://www.acmicpc.net/problem/12865풀이방향성 생각냅색 기본문제state는 n번째 가방 / 무게 k이다.현재 노드가 n,k이면 물건을 가방에 담기 전 무게는 k-w이다.또한, 가방에 물건을 담지 못하는 경우도 계속해서 업데이트 해준다. 파이썬import sysinput = lambda : sys.stdin.readline().rstrip()N,K = map(int, input().split())arr = [None] + [tuple(map(int, input().split())) for _ in range(N)]dp = [[0]*(K+1) for _ in range(N+1)]for n in range(N): w.. 2025. 2. 9.
[파이썬, 자바] 백준 2240 : 자두나무 (골드5) [파이썬, 자바] 백준 2240 : 자두나무 (골드5)https://www.acmicpc.net/problem/2240풀이방향성 생각바텀업 DP 정석state는 3개로 구분된다.현재 위치 n, 현재 나무 위치 l, 이동 횟수 kdp[k][l][n]으로 3차원 DP 테이블 작성n 에서 n+1로 넘어갈 때 l을 바꿀지 안바꿀지에 따라서 k값 증가유무가 결정된다.이동하지 않으면 l도 고정이고, 이동하면 k가 증가하면서 l은 토글된다.k값이 K와 같으면 다음 K+1은 없으므로, 인덱스 에러를 방지해주는 조건문추가.# 기본적으로 다음 노드에 도착하면 사과 유무로 + 1 해주기# 옆 나무로 이동하는 경우 k+1되며 l은 toggle된다.dp[k+1][l][n+1] = max(dp[k+1][l][n], dp[k][l.. 2025. 2. 9.
[파이썬, 자바] 백준 2470 : 두 용액 (골드5) [파이썬, 자바] 백준 2470 : 두 용액 (골드5)https://www.acmicpc.net/problem/두 용액풀이방향성 생각투포인터 / 이분탐색인데 투포인터로 풀었다.투포인터도 시작점에서 같이 시작하냐, 양 끝에서 조이냐 선택을 해야한다.window 내에서 개수나 합 등을 계속 측정해야하면 시작점에서 같이 시작해서 조건을 만족하는 최대 window 등을 찾으면 left pointer를 이동시킨다.이 문제에서는 window의 길이와 관계 없이 양 끝 포인터의 합을 더해주면서 포인터를 조절해주면 된다. 파이썬N = int(input())arr = sorted(map(int,input().split()))l,r = 0,N-1min_sum = float('inf')answer = Nonewhile l .. 2025. 2. 7.
leetcode : 1729. Find Followers Count leetcode : 1729. Find Followers Count[leetcode : 1729. Find Followers Count]다이어그램erDiagram FOLLOWS { int user_id PK int follower_id PK }각 유져별로 팔로워 수를 구한다 문제 풀이MySQLSELECT USER_ID, COUNT(*) AS FOLLOWERS_COUNTFROM FOLLOWERSGROUP BY USER_IDORDER BY USER_ID단순 GROUP BY + COUNT 문제MySQL 2SELECT USER_ID, COUNT(DISTINCT FOLLOWER_ID) AS FOLLOWERS_COUNTFROM FOLLOWERSGROUP BY USER_ID중복 팔.. 2025. 2. 6.