본문 바로가기
코딩테스트 문제풀이/beakjoon

[백준] 10866 덱

by merona99 2022. 8. 12.
반응형

백준 10866번 덱

자료구조 / 덱

 

 

 

[문제]

 

 

[과정]

 

큐 문제와 같음

차이점은 pop과 push를 앞,뒤에 나눠서 구현한다는 것

 

 

[소스코드]

 

# 10866 덱

from collections import deque
import sys
input = sys.stdin.readline

q = deque()
for i in range(int(input())):
    data = input().split()
    if data[0] == 'push_front':
        q.appendleft(data[1])
    elif data[0] == 'push_back':
        q.append(data[1])
    elif data[0] == 'pop_front':
        if len(q) == 0:
            print(-1)
        else:
            n = q.popleft()
            print(n)
    elif data[0] == 'pop_back':
        if len(q) == 0:
            print(-1)
        else:
            n = q.pop()
            print(n)
    elif data[0] == 'size':
        print(len(q))
    elif data[0] == 'empty':
        if len(q) == 0:
            print(1)
        else: print(0)
    elif data[0] == 'front':
        if len(q) == 0:
            print(-1)
        else: print(q[0])
    elif data[0] == 'back':
        if len(q) == 0:
            print(-1)
        else: print(q[-1])

 


 

[통과]

 

반응형

'코딩테스트 문제풀이 > beakjoon' 카테고리의 다른 글

[백준] 5430 AC  (0) 2022.08.12
[백준] 1021 회전하는 큐  (0) 2022.08.12
[백준] 14503 로봇 청소기  (0) 2022.08.12
[백준] 13335 트럭  (0) 2022.08.12
[백준] 14499 주사위 굴리기  (0) 2022.08.11

댓글