競プロ典型 90 問:061 - Deck(★2)
問題
挑戦結果
- 挑戦日:2021/10/26
- 結果:解けた
- 時間:5分
考えたこと
- listだと先頭に入れるのが遅いのでダメ。
- dequeを使えば実装するだけ。
公式解説
https://twitter.com/e869120/status/1402395219287371779
解説を読んだふりかえり
- deque を知っていますか? とのこと。知っていてよかった。
ソース
from collections import deque queue = deque() Q = int(input()) for _ in range(Q): t,x = [int(x) for x in input().split()] if t==1: # 山の一番上に入れる queue.appendleft(x) elif t==2: # 山の一番下に入れる queue.append(x) elif t==3: # x番目のカード ans = queue[x-1] print(ans)