백준(BOJ) 풀이 (46) 썸네일형 리스트형 [백준 9095] 1,2,3더하기 n=int(input()) a=[] a.append(1) a.append(1) a.append(2) b=[] for i in range(n): b.append(int(input())) M=max(b) for i in range(3, max(M+1,3)): a.append(a[i-1]+a[i-2]+a[i-3]) for i in range(n): print(a[b[i]]) [백준 11726] 2*n 타일링 n=int(input()) a=[0]*1001 a[1]=1 a[2]=2 for i in range(3,1001): a[i]=(a[i-1]+a[i-2]) print((a[n]%10007)) [백준 6593] 상범 빌딩 from queue import PriorityQueue import sys def Dijkstra(G,sp): INF=float("inf") dist=[INF] prev=[0] Q=set() que=PriorityQueue() for i in range(1,len(G)): if i==sp: dist.append(0) else: dist.append(INF) prev.append(0) Q.add(i) que.put((dist[i],i)) while Q!=set(): while True: temp_u=que.get()[1] if temp_u in Q: u=temp_u break Q.remove(u) for i in range(1,len(G[u])+1): alt=dist[u]+G[u][i-1][1] if alt [백준 4485] 녹색 옷 입은 애가 젤다지? from queue import PriorityQueue import sys def Dijkstra(G,sp): INF=float("inf") dist=[INF] prev=[0] Q=set() que=PriorityQueue() for i in range(1,len(G)): if i==sp: dist.append(0) else: dist.append(INF) prev.append(0) Q.add(i) que.put((dist[i],i)) while Q!=set(): while True: temp_u=que.get()[1] if temp_u in Q: u=temp_u break Q.remove(u) for i in range(1,len(G[u])+1): alt=dist[u]+G[u][i-1][1] if alt [백준 1261] 알고스팟 from queue import PriorityQueue import sys def Dijkstra(G,sp): INF=float("inf") dist=[INF] prev=[0] Q=set() que=PriorityQueue() for i in range(1,len(G)): if i==sp: dist.append(0) else: dist.append(INF) prev.append(0) Q.add(i) que.put((dist[i],i)) while Q!=set(): while True: temp_u=que.get()[1] if temp_u in Q: u=temp_u break Q.remove(u) for i in range(1,len(G[u])+1): alt=dist[u]+G[u][i-1][1] if alt [백준 1504] 특정한 최단 경로 from queue import PriorityQueue import sys def Dijkstra(G,sp): INF=float("inf") dist=[INF] prev=[0] Q=set() que=PriorityQueue() for i in range(1,n+1): if i==sp: dist.append(0) else: dist.append(INF) prev.append(0) Q.add(i) que.put((dist[i],i)) while Q!=set(): while True: temp_u=que.get()[1] if temp_u in Q: u=temp_u break Q.remove(u) for i in range(1,len(G[u])+1): alt=dist[u]+G[u][i-1][1] if alt [백준 2178] 미로 탐색 m,n=map(int,input().split()) M=[input() for _ in range(m)] a=[] b=set() a.append([(m,n)]) b.add((m,n)) k=0 if (1,1)==(m,n): print(1) while (1,1)!=(m,n): d=set() for i in range(len(a[k])): if 0 [백준 10809] 알파벳 찾기 s=input() for i in range(97,97+25): print(s.find(chr(i)), end=" ") print(s.find(chr(97+25))) 이전 1 2 3 4 5 6 다음