[Coding Test]
[백준] 2161 파이썬(python) : 카드1
https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net import sys from collections import deque n = int(sys.stdin.readline()) number = deque(list(range(1, n+1))) #1 res = [] #2 while len(number) != 1: #3 res.append(number.popleft()) #4 number.append(number.popleft()) #5 for i i..
[백준] 1946 파이썬(python) : 신입 사원 - (★)
https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 서류 점수 순위와 면접 점수 순위 2개를 같이 비교하는 반복문을 만들면 O(n^2)의 복잡도가 나오는데 시간초과가 걸린다. import sys t = int(sys.stdin.readline()) for _ in range(t): n = int(sys.stdin.readline()) rank = [ list(map(int, sys.stdin.readline().split())..
[백준] 14501 파이썬(python) : 퇴사 - (★)
14501번 : 퇴사 import sys n = int(sys.stdin.readline()) dp = [0]*16 #1 t, p = [], [] #2 for _ in range(n): x, y = map(int, sys.stdin.readline().split()) t.append(x) #3 p.append(y) for i in range(n-1, -1, -1): #4 time = i + t[i] #5 if time
[백준] 18353 파이썬(python) : 병사 배치하기
https://www.acmicpc.net/problem/18353 18353번: 병사 배치하기 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 2,000) 둘째 줄에 각 병사의 전투력이 공백을 기준으로 구분되어 차례대로 주어진다. 각 병사의 전투력은 10,000,000보다 작거나 같은 자연수이다. www.acmicpc.net import sys n = int(sys.stdin.readline()) arr = list(map(int, sys.stdin.readline().split())) dp = [1]*2001 #1 for i in range(1, n): #2 for j in range(0, i): #3 if arr[j] > arr[i]: #4 dp[i] = max(dp[i], dp[j]+1) #5 prin..
[백준] 1789 파이썬(python) : 수들의 합 - (★)
https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net import sys s = int(sys.stdin.readline()) n = 1 #1 while n*(n+1) / 2
[백준] 16234 파이썬(python) : 인구 이동
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net import sys from collections import deque n, l, r = map(int, sys.stdin.readline().split()) graph = [ list(map(int, sys.stdin.readline().split())) for _ in range(n) ] dx = [ 0, 0, -1, 1 ] dy = [ -1, 1, 0, 0 ] def bfs(..