๐Ÿ’ฏ CodingTest/BaekJoon

[BaekJoon] 10845 ํ

S.Honey 2022. 4. 11. 09:42
[์ถœ์ฒ˜ : https://www.acmicpc.net/problem/10845]
 
โ–ถ ์ž๋ฃŒ๊ตฌ์กฐ ํ(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')