728x90
반응형
1. 문제 설명
2. 풀이과정
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 덱을 deque 자료구조로 만들기 위해 deque 함수를 불러온다. from collections import deque
- 명령어의 개수를 입력받는다. N = int(sys.stdin.readline())
- 덱을 생성한다. d = deque()
- 명령어 개수만큼 반복하며 for _ in range(N)
- 하나 이상의 명령어를 정수형으로 입력받아 리스트로 저장한다. op = list(map(int, sys.stdin.readline().split()))
- 만약 첫 번째 명령어가 1이면 두 번째 명령어인 데이터를 덱의 앞에 추가한다. if (op[0] == 1): d.appendleft(op[1])
- 만약 첫 번째 명령어가 2이면 두 번째 명령어인 데이터를 덱의 뒤에 추가한다. elif (op[0] == 2): d.append(op[1])
- 만약 첫 번째 명령어가 3이면 elif (op[0] == 3)
- 덱이 비어있지 않을 경우, 덱의 맨 앞의 정수를 빼서 출력하고 if (d): print(d.popleft())
- 덱이 비어있을 경우, -1을 출력한다. else: print(-1)
- 만약 첫 번째 명령어가 4이면 elif (op[0] == 4)
- 덱이 비어있지 않을 경우, 덱의 맨 뒤의 정수를 빼서 출력하고 if (d): print(d.pop())
- 덱이 비어있을 경우, -1을 출력한다. else: print(-1)
- 만약 첫 번째 명령어가 5이면 덱에 들어있는 정수의 개수를 출력한다. elif (op[0] == 5): print(len(d))
- 만약 첫 번째 명령어가 6이면 elif (op[0] == 6)
- 덱이 비어있지 않을 경우, 0을 출력하고 if (d): print(0)
- 덱이 비어있을 경우, 1을 출력한다. else: print(1)
- 만약 첫 번째 명령어가 7이면 elif (op[0] == 7)
- 덱이 비어있지 않을 경우, 덱의 맨 앞의 정수를 출력하고 if (d): print(d[0])
- 덱이 비어있는 경우, -1을 출력한다. else: print(-1)
- 만약 첫 번째 명령어가 8이면 elif (op[0] == 8)
- 덱이 비어있지 않을 경우, 덱의 맨 뒤의 정수를 출력하고 if (d): print(d[-1])
- 덱이 비어있을 경우, -1을 출력한다. else: print(-1)
반응형
3. 소스코드
import sys
from collections import deque
N = int(sys.stdin.readline())
d = deque()
for _ in range(N):
op = list(map(int, sys.stdin.readline().split()))
if (op[0] == 1):
d.appendleft(op[1])
elif (op[0] == 2):
d.append(op[1])
elif (op[0] == 3):
if (d):
print(d.popleft())
else:
print(-1)
elif (op[0] == 4):
if (d):
print(d.pop())
else:
print(-1)
elif (op[0] == 5):
print(len(d))
elif (op[0] == 6):
if (d):
print(0)
else:
print(1)
elif (op[0] == 7):
if (d):
print(d[0])
else:
print(-1)
elif (op[0] == 8):
if (d):
print(d[-1])
else:
print(-1)
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 25192번 : 인사성 밝은 곰곰이 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.09 |
---|---|
[백준] 1037번 : 약수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.08 |
[백준] 24511번 : queuestack - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.07 |
[백준] 2346번 : 풍선 터뜨리기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.06 |
[백준] 18258번 : 큐 2 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.04 |
[백준] 12789번 : 도키도키 간식드리미 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.03 |
[백준] 4949번 : 균형잡힌 세상 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.02 |
[백준] 28278번 : 스택 2 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.01 |