https://www.acmicpc.net/problem/15823 코드import sysinput = sys.stdin.readlinen, m = map(int, input().split())arr = list(map(int, input().split()))def chk(num): # Two Pointer pack = set() l, r = 0, 0 cnt = 0 while r 50점만 받을 수 있는 코드이다.Parametric Search과 Two Pointer 알고리즘을 사용했는데, Parametric Search에서 조건을 검사할 때 Two Pointer를 사용한다. bs() : Parametric Search하나의 카드 팩을 구성할 수 있는 최대 카드 수를 Parame..
전체 글
https://www.acmicpc.net/problem/1269 코드a_num, b_num = map(int, input().split())a = set(map(int, input().split()))b = set(map(int, input().split()))print(len(a-b)+len(b-a)) 파이썬은 집합 자료형과 관련 연산이 정의되어 있어서 이 문제를 쉽게 풀 수 있었다. a와 b를 set()을 이용하여 집합으로 만들고, '-' 연산을 이용하여 A-B와 B-A 차집합을 구한 뒤 두 차집합의 길이를 더해주면 된다
https://www.acmicpc.net/problem/14248 코드from collections import dequen = int(input())a = list(map(int, input().split()))start = int(input())-1q = deque([start])visited = [False]*nvisited[start] = Trueans = 1while q: now = q.popleft() # 왼쪽, 오른쪽 for nx in [now-a[now], now+a[now]]: if 0 단순히 각 돌에 방문할 수 있는지 여부만 판단하면 되기 때문에 BFS를 이용하여 갈 수 있는 돌들을 방문하며 개수를 세면 된다.
https://www.acmicpc.net/problem/1493 코드import sysinput = sys.stdin.readlinel, w, h = map(int, input().split())n = int(input())cubes = []for _ in range(n): a, b = map(int, input().split()) cubes.append([2**a, b])def dc(l, w, h, idx): # 분할정복 if idx == -1: # 큐브 부족 print(-1) exit() res = 0 # idx번째 큐브의 필요 개수 need = (l//cubes[idx][0])*(w//cubes[idx][0]) * (h//cubes[..
https://www.acmicpc.net/problem/16432 코드import sysinput = sys.stdin.readlinen = int(input())arr = []for _ in range(n): input_data = list(map(int, input().split())) arr.append(input_data[1:])dp = [[[]for _ in range(10)] for _ in range(n)]for a in arr[0]: # 첫째날 dp[0][a] = [a]for i in range(1, n): for a in arr[i]: for j in range(1, 10): if a != j and dp[i-1][j] != [..
https://www.acmicpc.net/problem/17451 코드import sysinput = sys.stdin.readlinen = int(input())v = list(map(int, input().split()))ans = v[-1]for i in range(n-2, -1, -1): if ans % v[i] != 0: ans = (ans//v[i]+1)*v[i]print(ans) 처음에 Parametric Search로 풀이했다가 시간 초과가 발생하였는데, Parametric Search 알고리즘만 하면 시간 복잡도가 O(logN)인데 조건 검사할 때마다 O(N)이 추가로 필요해서 그런 것 같다. 그래서 다시 살펴보니 Greedy로 풀이할 수 있을 것 같아서 바꾸었다. 행..