2차 2

[Programmers/Python] 완전범죄

1. 문제 파악하기모든 물건을 훔쳐야 한다.각 물건은 훔칠 때마다 a/b 두 도둑 중 하나가 흔적을 남긴다.a의 흔적 합이 n 이상이면 a가, b의 흔적이 m이상이면 b가 잡힌다.목표는 "둘 다 잡히지 않으면서" a의 흔적 합을 최소화하는 것각 물건마다 선택(a가 훔칠까, b가 훔칠까)을 해야하고,전체 선택 결과에 대해 두 변수(=a의 흔적, b의 흔적)가 제약(그 중 a의 흔적을 최소화 해야한다=> 전형적인 DP(동적 계획법) 문제 형태2. DP 상태(메모이제이션) 설계dp[k] = 지금까지 b 의 흔적 합이 정확히 k 일 때, a의 흔적 합의 최소값배열 길이는 m (b가 잡히지 않으려면 k 초기값INF = 10**9dp = [INF]*mdp[0] = 0 # b가 0 흔적일 때 a도 0 이제 물건을 하..

[Programmers/Java] 서버 증설 횟수

레벨2 > 2025년 프로그래머스 코드챌린지 2차 예선 > 서버 증설 횟수사용 언어 : Java 문제 요약이용자가 m명 늘어날 때마다 서버 1대가 추가로 필요이용자가 m명 미만이면 서버가 필요하지 않음이용자가 n×m명 이상 (n+1)×m명 미만이면 n대의 서버가 필요서버는 증설한 후 k시간 동안만 운영모든 게임 이용자를 감당하기 위한 최소 서버 증설 횟수를 찾아야 함변수players : 0시에서 23시까지의 시간대별 게임 이용자의 수를 나타내는 1차원 정수 배열m : 서버 한 대로 감당할 수 있는 최대 이용자의 수k : 서버 한 대가 운영 가능한 시간을 나타내는 정수제한 사항players 길이 : 240 players[i] : i 시 ~ (i + 1) 시 사이의 이용자 수1 1 문제 접근 방향각 시간대별..