AOJ Doubly Linked Listについての質問です。
この問題を解くために以下の関数を作りました。
python
1from collections import deque 2ans = deque() 3 4def doubly_linked_list(operation, value=None): 5 if operation == "insert": 6 ans.appendleft(value) 7 elif operation == "delete": 8 try: 9 ans.remove(value) 10 except: 11 pass 12 elif operation == "deleteFirst": 13 ans.popleft() 14 elif operation == "deleteLast": 15 ans.pop()
関数は作れたのですが、指定された入力にうまく関数を合わせられません。
入力は以下の通りです。
9 insert 5 insert 2 insert 3 insert 1 delete 3 insert 6 delete 5 deleteFirst deleteLast
最初の9は入力されるコマンド(operation, value) の数です。
この回数分forを回そうと思ったのですが、
- 入力が insert 5 のように来るのでmapで受け取ろうとした
- しかし、deleteFirst, deleteLast が来るとエラーになる
- つまり、 insert 5 の場合
python
1operation, value = map(input().split()) 2doubly_linked_list(operation, value)
とできるが、deleteFirstの時にどう記述すればいいか分からない
という感じで手が止まってしまいました。
どなたかうまく入力できる方法を教えていただけないでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/24 05:02