백준 1374번: 강의실 파이썬 코드(우선순위 큐)
import heapq import sys n = int(sys.stdin.readline()) heap = [] q = [] count = 0 for _ in range(n): num, start, end = map(int,sys.stdin.readline().split()) heapq.heappush(heap, [start,end,num]) start, end, num = heapq.heappop(heap) heapq.heappush(q, end) while heap: start, end, num = heapq.heappop(heap) if q[0]
백준 1342번: 행운의 문자열 파이썬코드(백트래킹)
s = input() s = list(s) su = len(s) count = 0 alphabet = [0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0] for i in range(len(s)): alphabet[ord(str(s[i])) - 97] += 1 def backtracking(l, p): global count if l == 0: count += 1 for i in range(26): if alphabet[i] > 0 and i != p: alphabet[i] -= 1 backtracking(l-1, i) alphabet[i] += 1 else: pass backtracking(su, -1) print(count)
백준 1261번: 알고스팟 파이썬 코드(다익스트라)
import sys import heapq INF = sys.maxsize x = [0,0,-1,1] y = [-1,1,0,0] n,m = map(int, sys.stdin.readline().split()) visited = [[0 for _ in range(n)]for _ in range(m)] graph = [] dist = [[INF for _ in range(n)] for _ in range(m)] for i in range(m): temp = list(input()) temp = [int(i) for i in temp] graph.append(temp) heap = [] heapq.heappush(heap, [graph[0][0],[0,0]]) while heap: cost, now = hea..