[Coding Test]/[백준]
[백준] 3190 파이썬(python) : 뱀 - (★)
3190번: 뱀 시뮬레이션 문제는 어렵다. 조건들을 구현하는것이 상당히 까다롭다. import sys from collections import deque n = int(sys.stdin.readline()) k = int(sys.stdin.readline()) graph = [ [0]*(n) for _ in range(n) ] dx = [ 0, 1, 0, -1 ] #1 dy = [ 1, 0, -1, 0 ] for _ in range(k): a, b = map(int, sys.stdin.readline().split()) graph[a-1][b-1] = 2 #2 l = int(sys.stdin.readline()) step = {} q = deque() q.append((0, 0)) #3 for _ in..
[백준] 11652 파이썬(python) : 카드
11652번 : 카드 import sys n = int(sys.stdin.readline()) hash = {} #1 for i in range(n): num = int(sys.stdin.readline()) if num not in hash: #2 hash[num] = 1 else: #3 hash[num] += 1 res = [] for key, value in hash.items(): #4 res.append((key, value)) res.sort(key=lambda x : (-x[1], x[0])) #5 print(res[0][0]) #6 #1 : 해시 생성 #2 : 입력된 값이 해시에 없을때 key를 생성하고 value를 1로 지정 #3 : 값이 해시에 존재하면 value +1 #4 : 해시의 ..
[백준] 13335 파이썬(python) : 트럭 - (★)
https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net import sys n, w, l = map(int, sys.stdin.readline().split()) truck = list(map(int, sys.stdin.readline().split())) time, bridge = 0, [0]*w #1 while bridge: #2 time += 1 #3 bridge.pop(0) #4 if truck:..
[백준] 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