3/31学習問題


最初の問題
https://www.acmicpc.net/problem/10866
->索引

1番解題コード

import sys
from collections import deque

# 명령의 수
n = int(sys.stdin.readline())

# 명령어 함수 처리
def push_front(x, deq):
    deq.appendleft(x)
    return deq

def push_back(x, deq):
    deq.append(x)
    return deq

def pop_front(deq):
    if deq:
        print(deq.popleft())
    else:
        print(-1)

def pop_back(deq):
    if deq:
        print(deq.pop())
    else:
        print(-1)

def size(deq):
    print(len(deq))

def empty(deq):
    if deq:
        print(0)
    else:
        print(1)

def front(deq):
    if deq:
        print(deq[0])
    else:
        print(-1)

def back(deq):
    if deq:
        print(deq[-1])
    else:
        print(-1)

# 명령어 사전
order_dict = {
    'push_front' : push_front,
    'push_back' : push_back,
    'pop_front' : pop_front,
    'pop_back' : pop_back,
    'size' : size,
    'empty' : empty,
    'front' : front,
    'back' : back
}

# 명령어 처리
deq = deque()

for _ in range(n):
    # push_back과 push_front는 띄어쓰기 후에 값을 더 받아옴
    # 명령을 리스트 형태로 받아오는 것
    order = sys.stdin.readline().split()
    # order[0]=명령어, order[1]=정수
    cmd = order[0]


    if len(order) == 1:
        # pop_front, pop_back, size, empty,front, back
        order_dict[cmd](deq)
    else:
        # push_front, push_back -> 이 둘은 값을 입력도 해줘야 함.
        x = int(order[1])
        deq = order_dict[cmd](x, deq)
=======================================================
後で...インデックスを使うのは初めてのようですが...
慣れろよ...
EDA&はネットゲームからあまり元気がありません.ううう
新しいこともたくさん勉强しました.あまり練習問題を解く時間がありません.ㅠㅠㅠ一日一つの简単なことでも、必ず一つ一つ解决しなければならない...ううう