CodingTest/Python
BOJ_10866 : ๋ฑ
Soom_1n
2022. 8. 17. 21:51
10866๋ฒ: ๋ฑ
์ฒซ์งธ ์ค์ ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ช ๋ น์ด ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๋ฌธ์ ์ ๋์์์ง
www.acmicpc.net
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ๋ฐํฌ๋ฅผ ๊ตฌํํ๋ ๋ฌธ์ ์ด๋ค.
๐ธ ์ฝ๋ ๐ธ
from collections import deque
import sys
input = sys.stdin.readline
print = sys.stdout.write
deq = deque()
for i in range(int(input())):
order = input().rstrip()
if order[:10] == "push_front":
deq.appendleft(order[11:])
elif order[:9] == "push_back":
deq.append(order[10:])
elif order[:9] == "pop_front":
if len(deq):
print(deq.popleft() + "\n")
else:
print("-1\n")
elif order[:8] == "pop_back":
if len(deq):
print(deq.pop() + "\n")
else:
print("-1\n")
elif order[:4] == "size":
print(str(len(deq)) + "\n")
elif order[:5] == "empty":
print(str(int(len(deq) == 0)) + "\n")
elif order[:5] == "front":
if len(deq):
print(deq[0] + "\n")
else:
print("-1\n")
elif order[:4] == "back":
if len(deq):
print(deq[-1] + "\n")
else:
print("-1\n")
๐ธ ์ฝ๋ ํด์ ๐ธ
- collenctions ๋ชจ๋์ deque ์๋ฃํ์ ์ฌ์ฉํ๋ค.
- ๋น ๋ฅธ ์ ์ถ๋ ฅ์ ์ฌ์ฉํ๋ค.
- ํ ์ค์ ์ ๋ ฅ๋ฐ์ ๋ช ๋ น์ด๋ฅผ ์ํํ๋ค. (๋น ๋ฅธ ์ ์ถ๋ ฅ ํํ์ ์ ์ํ๋ค)
๐ธ end ๐ธ
- ๊ฐ0๋จํ ๋ฌธ์ ์๋ค. ๋ฐํฌ์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ๋๋ฃจ ์จ๋ณผ ์ ์์ด์ ์ข์๋ค.
728x90