코딩 테스트/Baekjoon

S4 10866. 덱

  • -
728x90
반응형

문제 보기 :  10866번: 덱


문제

  • 정답률 : 56%


작성 코드

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

n = int(input().strip())

dd = deque()

for _ in range(n):
    k = input().rstrip()
    #---------------------
    if k == 'pop_front':
        # 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력
        if dd:
            print(dd.popleft())
        # 덱에 들어있는 정수가 없는 경우에는 -1을 출력
        else:
            print(-1)
    elif k == 'pop_back':
        # 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력
        if dd:
            print(dd.pop())
        # 덱에 들어있는 정수가 없는 경우에는 -1을 출력
        else:
            print(-1)
    #---------------------
    # 덱에 들어있는 정수의 개수를 출력
    elif k == 'size':
        print(len(dd))
    # 덱이 비어있으면 1을, 아니면 0을 출력
    elif k == 'empty':
        if dd:
            print(0)
        else:
            print(1)
    #---------------------
    elif k == 'front':
        # 덱의 가장 앞에 있는 정수를 출력
        if dd:
            a = dd.popleft()
            print(a)
            dd.appendleft(a)
        # 덱에 들어있는 정수가 없는 경우에는 -1을 출력
        else:
            print(-1)
    elif k == 'back':
        # 덱의 가장 뒤에 있는 정수를 출력
        if dd:
            a = dd.pop()
            print(a)
            dd.append(a)
        # 덱에 들어있는 정수가 없는 경우에는 -1을 출력
        else:
            print(-1)
    #---------------------
    else:
        k, a = k.split()
        a = int(a)
        # 정수 a를 덱의 앞에 넣기
        if k == 'push_front':
            dd.appendleft(a)
        # 정수 a를 덱의 뒤에 넣기
        elif k == 'push_back':
            dd.append(a)

풀이

 

S4 10845. 큐

문제 보기 :  10845번: 큐 문제정답률 : 49%작성 코드from collections import dequeimport sysinput = sys.stdin.readlinen = int(input().strip())dd = deque()for _ in range(n): k = input().rstrip() if k == 'pop': if dd: print(dd.popleft()) else: p

dtdiary.tistory.com

 

S4 18258. 큐 2

문제 보기 :  18258번: 큐 2 문제정답률 : 32%작성 코드from collections import dequeimport sysinput = sys.stdin.readlinen = int(input().strip())dd = deque()for _ in range(n): k = input().rstrip() if k == 'pop': if dd: print(dd.popleft()) else:

dtdiary.tistory.com

320x100
728x90

'코딩 테스트 > Baekjoon' 카테고리의 다른 글

G4 2293. 동전 1  (1) 2024.12.15
S1 11286. 절댓값 힙  (0) 2024.12.15
S4 10816번: 숫자 카드 2  (0) 2024.12.10
S1 7562. 나이트의 이동  (0) 2024.12.09
S2 4963. 섬의 개수  (1) 2024.12.09
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.