관리 메뉴

솜씨좋은장씨

[BaekJoon] 10866번 : 덱 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 10866번 : 덱 (Python)

솜씨좋은장씨 2020. 4. 27. 22:13
728x90
반응형

1일 1문제 81일차!

오늘의 문제는 백준의 덱 (Deque) 입니다.

 

10866번: 덱

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다.

www.acmicpc.net

Solution

my_dequeue = []
command_list = []

num = input()

for i in range(int(num)):
    command = input()
    command_list.append(command)
    
for command in command_list:
    cmd = command.split()
    
    if cmd[0] == 'push_back':
        my_dequeue.append(cmd[1])
    elif cmd[0] == 'push_front':
        my_dequeue.insert(0, cmd[1])
    elif cmd[0] == 'pop_front':
        if len(my_dequeue) != 0:
            print(my_dequeue.pop(0))
        else:
            print(-1)
    elif cmd[0] == 'pop_back':
        if len(my_dequeue) != 0:
            print(my_dequeue.pop(-1))
        else:
            print(-1)
    elif cmd[0] == 'back':
        if len(my_dequeue) != 0:
            print(my_dequeue[-1])
        else:
            print(-1)
    elif cmd[0] == 'front':
        if len(my_dequeue) != 0:
            print(my_dequeue[0])
        else:
            print(-1)
    elif cmd[0] == 'size':
        print(len(my_dequeue))
    elif cmd[0] == 'empty':
        if len(my_dequeue) != 0:
            print(0)
        else:
            print(1)
 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments