โถ ์๋ฃ๊ตฌ์กฐ ํ(Queue)๋ฅผ ๊ตฌํํ๋ ๋ฌธ์ ์ด๋ค.
import sys
n = int(sys.stdin.readline().rstrip())
q = list()
while n > 0:
cmd = sys.stdin.readline().rstrip()
## .rstrip() ๋ฅผ ์๋ถ์ฌ ์ฃผ๋ฉด ์
๋ ฅ๊ฐ์ด ์๋ฅผ๋ค์ด "push 1" ์ธ๊ฒฝ์ฐ cmd์๋ "push 1\n" ์ผ๋ก ๊ฐํ ๋ฌธ์์ด๊น์ง ํฌํจ๋๋ค. ๋ฐ๋ผ์ .rstrip()๋ฅผ ๋ถ์ฌ ์ฌ๋ฐ๋ฅธ ์
๋ ฅ์ ๋ฐ๋๋กํ๋ค.
val = ''
if ' ' in cmd:
cmd, val = cmd.split()
val = int(val)
if cmd == 'push':
q.append(val)
elif cmd == 'pop':
if len(q) == 0:
sys.stdout.write(str(-1)+'\n')
## writeํจ์๋ ์คํธ๋ง ๊ฐ๋ง ์ถ๋ ฅ ํ ์ ์๋ค. print() ์ฒ๋ผ ..write(1) ์ด ๋ถ๊ฐ๋ฅํ๋ค.
else:
sys.stdout.write(str(q[0])+'\n')
del q[0]
elif cmd == 'size':
sys.stdout.write(str(len(q))+'\n')
elif cmd == 'empty':
if len(q) == 0:
sys.stdout.write(str(1)+'\n')
else:
sys.stdout.write(str(0)+'\n')
elif cmd == 'front':
if len(q) == 0:
sys.stdout.write(str(-1)+'\n')
else:
sys.stdout.write(str(q[0])+'\n')
elif cmd == 'back':
if len(q) == 0:
sys.stdout.write(str(-1)+'\n')
else:
sys.stdout.write(str(q[len(q)-1])+'\n')
n -= 1
ํ์ด๊ณผ์
1. ํ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ๋ฆฌ์คํธ๋ฅผ ์ ์ธ
2. ์
๋ ฅ์ ๋ฐ์ ๋ช
๋ น๊ณผ ๊ฐ์ผ๋ก ๋ฌธ์์ด ํ์ฑ
3. ๊ฐ๊ฐ์ ๋ช
๋ น์ ๋ง๋ ๋์ ์ ์
โ
โ
โ
์ด๊ธฐ ์๊ฐ์ด๊ณผ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋๋ฐ ์ด๋ ํ์ด์ฌ ๋น ๋ฅธ ์
์ถ๋ ฅ์ ์ด์ฉํด ํด๊ฒฐ ํ ์ ์์๋ค.
+) ์ถ๊ฐ์ ์ผ๋ก ํ์ด์ฌ ๋น ๋ฅธ ์
์ถ๋ ฅ ์ฌ์ฉ๋ฒ
sys.stdin.readline()์ ๋ค์ ๊ฐํ๋ฌธ์("\n")๋ ๋ฐ์๋ค์ด๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ๊ฒฝ์ฐ sys.stdin.readline().rstrip() ๋ก ์ฌ์ฉํด์ผ ๊ฐํ๋ฌธ์๋ฅผ ๋ฌด์ํ๋ค.
ํํธ ์ถ๋ ฅ์ ํด๋นํ๋ sys.stdout.write() ์ ๊ฐํ์ฒ๋ฆฌ๋ฅผ ๋ณ๋๋ก ํด์ค์ผ ํ๋ค. Ex) sys.stdout.write(str(0)+'\n')
'๐ฏ CodingTest > BaekJoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BaekJoon] 18111 ๋ง์ธํฌ๋ํํธ (0) | 2022.04.11 |
---|---|
[BaekJoon] 15829 Hashing (0) | 2022.04.11 |
[BaekJoon] 2805 ๋๋ฌด์๋ฅด๊ธฐ (0) | 2022.04.11 |
[BaekJoon] 1654 ๋์ ์๋ฅด๊ธฐ (0) | 2022.04.11 |
[BaekJoon] 1081 ์ซ์ ์นด๋ 2 (0) | 2022.04.11 |