백준 10866

jeonghens·2023년 7월 26일

알고리즘: BOJ

목록 보기
7/125

문제

https://www.acmicpc.net/problem/10866

코드

import sys

N = int(sys.stdin.readline().rstrip())

deque = []

for i in range(N):
    cmd = list(sys.stdin.readline().rstrip().split(" "))
    
    # print(cmd)

    if cmd[0] == "push_front":
        deque.insert(0, cmd[1])
    elif cmd[0] == "push_back":
        deque.append(cmd[1])
    elif cmd[0] == "pop_front":
        if deque:
            print(deque.pop(0))
        else:
            print(-1)
    elif cmd[0] == "pop_back":
        if deque:
            print(deque.pop())
        else:
            print(-1)
    elif cmd[0] == "size":
        print(len(deque))
    elif cmd[0] == "empty":
        if deque:
            print(0)
        else:
            print(1)
    elif cmd[0] == "front":
        if deque:
            print(deque[0])
        else:
            print(-1)
    elif cmd[0] == "back":
        if deque:
            print(deque[-1])
        else:
            print(-1)
    
    # print(deque)

deque라는 자료형을 구현하는 간단한 문제이다.

기타

cmd = list(sys.stdin.readline().rstrip().split(" "))

위의 코드에서 rstrip()이 없는 경우,
push_front 2
라는 입력이 들어오면,
cmd = ['push_front', '2\n']이다.

즉, '\n'이 2에 붙어 저장된다.

profile
알고리즘이나 SQL 문제 풀이를 올리고 있습니다. 피드백 환영합니다!

0개의 댓글