본문 바로가기

코딩테스트/Python43

[python 백준 1946] 신입 사원 접근 방법 서류 1등과 면접 1등 찾기 서류 1등의 면접 등수보다 높고, 면접 1등의 서류 등수보다 높은 사람의 수 = 선발가능한 인원이라고 생각했다. 실패 코드 import sys # sys.stdin = open('input.txt', 'r') t = int(sys.stdin.readline()) for i in range(t): n = int(sys.stdin.readline()) arr = [] res = 0 for j in range(n): arr.append(list(map(int, sys.stdin.readline().split()))) # 서류 1등, 면접 1등 찾기 for a in range(n): if arr[a][0] == 1: docs_win = a if.. 2023. 1. 13.
[python 백준 6068] 시간 관리하기 접근 방법 최소 이 시간까지는 일을 시작해야한다! 그러기 위해선 마감시간이 제일 늦은 시간을 기준으로 일하는 시간을 차례대로 뺌 제일 마지막 마감 시간을 기준으로 수행 [(3, 5), (8, 14), (5, 20), (1, 16)] 으로 설명하자면 마감 시간을 기준으로 내림차순 [(20, 5), (16, 1), (14, 8), (5, 3)] 제일 늦은 마감 시간 가져온 후 일하는 시간 빼기 null null 그 다음 마감 시간 가져와서 비교 null 일하는 시간 빼기 null 그 다음 마감 시간 가져와서 비교 null 일하는 시간 빼기 null 그 다음 마감 시간 가져와서 비교 null 여기서 남은 시간(6)보다 마감 시간(5)이 빠를 경우 제 시간에 못하기 때문에 마감 시간을 기준으로 일할 시간(3)을.. 2023. 1. 9.
[python 백준 1202] 보석 도둑 처음에 시도하려 했던 방법(실패) 보석들을 Tuple pair로 이루어진 List를 만든다. ([(1, 65), (5, 23), (2, 99)]) 보석의 무게가 높은 순으로 정렬 ([(2, 99), (1, 65), (5, 23)]) 가방 무게가 큰 순으로 정렬 ([10, 2]) 가방에 들어갈 수 있는 보석 무게를 무거운 순으로 넣고 List에서 제거 => 시간초과 우선순위 큐로 문제를 풀어야했다. 코드 import sys import heapq N, B = map(int, sys.stdin.readline().split()) heap = [] for i in range(N): heapq.heappush(heap, list(map(int, sys.stdin.readline().split()))) B_lis.. 2023. 1. 9.