목록전체 글 (233)
Life Engineering
SET 1~4 https://www.acmicpc.net/workbook/view/2418 1-1. 탐색과 정렬 (1) A – 1920 수 찾기 https://www.acmicpc.net/problem/1920 B – 2750 수 정렬하기 https://www.acmicpc.net/problem/2750 C – 2751 수 정렬하기 2 https://www.acmicpc.net/problem/2751 D – 10989 수 정렬하기 3 https://www.acmicpc.net/problem/10989 E – 10815 숫자 카드 https://www.acmicpc.net/problem/10815 문제를 풀기 전에 공부하기: 이진 탐색, O(nlgn) 정렬, 카운팅 정렬 학습 유의사항: 이분 탐색과 정렬을..
냉무
www.acmicpc.net/problem/11060 11060번: 점프 점프 재환이가 1×N 크기의 미로에 갇혀있다. 미로는 1×1 크기의 칸으로 이루어져 있고, 각 칸에는 정수가 하나 쓰여 있다. i번째 칸에 쓰여 있는 수를 Ai라고 했을 때, 재환이는 Ai이하만큼 오른쪽으로 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 from collections import deque N=int(input()) graph=list(map(int, input().split())) visited=[0]*N def bfs(): queue=deque() queue.append(0) while queue: x=queue.pop..
www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 from itertools import combinations N, M=map(int, input().split()) graph=[] houses=[] chickens=[] result2=int(1e9) result1=int(1e9) for i i..
www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net graph.append(list(map(
www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net from itertools import combinations N, S=map(int, input().split()) L=list(map(int, input().split())) count=0 for i in range(N): cb=list(combinations(L,i+1)) for item in cb: if sum(item)==S: count+=1 print(count) ..
www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net from itertools import combinations N=int(input()) l=[x for x in range(N)] S=[] result=int(1e9) for i in range(N): S.append(list(map(int, input().split()))) comb=list(combinations(l,N//2)) length=len(comb)//2 for i in range(length): start=0 lin..
www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net from collections import deque t=int(input()) INF=int(1e9) for _ in range(t): flag=0 n=int(input()) graph=[[INF]*(n+3) for _ in range(n+3)] array=[[] for _ in range(n+3)] visited=[False]*(n+3) l=[()] for a in range(1,n+3): for b ..
www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net n=int(input()) liquids=list(map(int, input().split())) left=0 right=2000000000 while left
www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1≤n≤100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어진 www.acmicpc.net n=int(input()) a,b=map(int, input().split()) graph=[[] for _ in range(n+1)] visited=[False]*(n+1) m=int(input()) result=-1 for _ in range(m): i,j=map(int, input().split()) graph[i].append(j) graph[j].append(i) def dfs(a, b,..