728x90

Simulation 2

백준 14719 <빗물> Python

https://www.acmicpc.net/problem/14719구현 문제입니다. 해당 문제에서 가장 먼저 생각할 수 있는 풀이는 '가장 높은 위치를 찾는다' 인 것 같습니다.어차피 가장 높은 위치에는 빗물이 쌓이지도 않고, 다음으로 높은 위치와 그 사이에는 어차피 물이 가득 쌓이기 때문입니다. 즉 가장 높은 위치를 차례로 찾으면서 그 사이를 계산해주고 또 계산하지 않은 위치만 계산하면 모든 위치를 한번씩만 계산할 수 있습니다.import sysimport heapq as hqinput = sys.stdin.readlinedef solution(H, W, hs): # 높이 리스트 + 인덱스 hs_idx = [[-hs[h], h] for h in range(len(hs))] # 힙으로 만..

백준 15662 <톱니바퀴 (2)> Python

https://www.acmicpc.net/problem/15662시뮬레이션 문제입니다.주어진대로 구현만 하면 풀 수 있습니다. 회전을 용이하게 구현하기 위해 데크를 사용했습니다.회전을 시작한 톱니바퀴부터 왼쪽, 오른쪽으로 확장하며 함께 회전하는지 여부를 체크한 뒤 마지막에 회전시키는 작업을 반복해주면 풀 수 있습니다.import sysfrom collections import dequeinput = sys.stdin.readlinedef solution(T, cogs, k, rotates): # 톱니바퀴 데크로 치환 cogs = list(map(deque, cogs)) # 회전 쿼리 순회 for idx, query in rotates: # 톱니 번호 치환 ..

728x90