Algorithm475 [파이썬] 백준 2473 : 세 용액 (골드3) [파이썬] 백준 2473 : 세 용액 (골드3)https://www.acmicpc.net/problem/2473풀이방향성 생각정렬 이후 두 용액의 구한 후, 나머지 하나를 이분탐색으로 빠르게 찾기or 한 피벗의 값을 정해놓고 투포인터 진행정렬이 되어있는 array에서 값을 늘리거나 줄이거나만 해야하므로 피벗, 피벗+1, 맨 끝을 정한다.l = pivot+1, r=맨끝 이렇게 정한 후 용액의 ph값에 따라서 l r 움직이기.후자로 풀이 진행 전체코드import sysN = int(input())arr = list(map(int, input().split()))arr.sort()temp = sys.maxsizeanswer = []for p in range(N-2): l,r = p+1,N-1 whi.. 2024. 8. 4. [파이썬] 백준 1806 : 부분합 (골드4) [파이썬] 백준 1806 : 부분합 (골드4)https://www.acmicpc.net/problem/1806풀이방향성 생각$N=10^{6}$이라 $N^2$로는 불가능하다.투포인터를 통해서 한쪽 피벗에서 누적 합을 기록하며 목표값을 넘는 순간 값을 기록한다.전체코드N,goal = map(int,input().split())arr = list(map(int,input().split()))l,r = 0,0carr = 0answer = N+1while True: if carr >= goal: answer = min(answer,r-l) carr -= arr[l] l += 1 elif r == N: break else: carr +=.. 2024. 8. 2. [파이썬] 백준 11660 : 구간 합 구하기 5 (실버1) [파이썬] 백준 11660 : 구간 합 구하기 5 (실버1)https://www.acmicpc.net/problem/11660풀이방향성 생각2차원 누적합을 통해서 중복 영역 계산을 피해준다.전체코드import sysinput = lambda : sys.stdin.readline().rstrip()N,M = map(int,input().split())arr = [list(map(int,input().split())) for _ in range(N)]carr = [[0]*(N+1) for _ in range(N+1)]for i in range(1,N+1): for j in range(1,N+1): carr[i][j] = arr[i-1][j-1] + carr[i-1][j] + carr[i][.. 2024. 8. 2. [파이썬] 백준 11404 : 플로이드 (골드4) [파이썬] 백준 11404 : 플로이드 (골드4)https://www.acmicpc.net/problem/11404풀이방향성 생각a에서 b로가는 간선정보가 다수 들어올 수 있으니, 최소값을 그래프에 저장해준다.이후 플로이드워셜로 풀이전체코드import sysinput = lambda : sys.stdin.readline().rstrip()N = int(input())G = [[1e9]*(N+1) for _ in range(N+1)]for _ in range(int(input())): a,b,cost = map(int,input().split()) G[a][b] = min(G[a][b],cost)for i in range(1,N+1): G[i][i] = 0for k in range(1,N+.. 2024. 8. 1. 이전 1 ··· 40 41 42 43 44 45 46 ··· 119 다음