일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 백준
- 인공지능
- 모각코
- ai 전문가 과정
- numpy
- Ai
- 코딩테스트
- AI학습
- LG Aimers
- 파이썬
- 알고리즘
- 코딩
- Python
- 데이터분석
- KT
- 데이터과학
- 정처기 실기
- github
- list
- 정처기
- 클래스
- 데이터
- 자바
- dictionary
- Java
- git
- AIVLE
- pandas
- KT AIVLE
- AI 윤리
Archives
- Today
- Total
무향향수
[Python] 모각코 백준 문제풀이4 본문
2023.07.26🌸
- 10843 큐 ✅
- 2161 카드1 ✅
- 18258 큐2 ✅
- 2164 카드2 ✅
- 1966 프린터 큐 ✅
🌸 10845 큐

import sys
from collections import deque
N = int(sys.stdin.readline()) # 명령의 수
queue = deque()
for i in range(N):
X = list(sys.stdin.readline().split()) # 명령어
if X[0] == "push":
queue.append(X[1])
elif X[0] == "pop":
if len(queue) == 0:
print(-1)
else:
print(queue.popleft())
elif X[0] == "size":
print(len(queue))
elif X[0] == "empty":
if len(queue) == 0:
print(1)
else:
print(0)
elif X[0] == "front":
if len(queue) == 0:
print(-1)
else:
print(queue[0])
elif X[0] == "back":
if len(queue) == 0:
print(-1)
else:
print(queue[len(queue) - 1])
🌸 2161 카드1

import sys
from collections import deque
N = int(sys.stdin.readline()) # 카드 수
queue = deque()
A = [] # 버린 카드를 저장할 배열
for i in range(1, N + 1): # 카드 순서대로 놓기
queue.append(i)
for i in range(N - 1):
A.append(queue.popleft()) # 제일 위 카드 버리고 배열에 저장
queue.append(queue.popleft()) # 제일 위 값 뒤에 넣기
for i in range(len(A)):
print(A[i], end = " ")
print(queue[0])
🌸 18258 큐2

import sys
from collections import deque
N = int(sys.stdin.readline()) # 명령의 수
queue = deque()
for i in range(N):
X = list(sys.stdin.readline().split())
if X[0] == "push":
queue.append(X[1])
elif X[0] == "pop":
if len(queue) == 0:
print(-1)
else:
print(queue.popleft())
elif X[0] == "size":
print(len(queue))
elif X[0] == "empty":
if(len(queue) == 0):
print(1)
else:
print(0)
elif X[0] == "front":
if len(queue) == 0:
print(-1)
else:
print(queue[0])
elif X[0] == "back":
if(len(queue) == 0):
print(-1)
else:
print(queue[len(queue) - 1])
🌸2164 카드2

import sys
from collections import deque
N = int(sys.stdin.readline()) # 카드의 수
queue = deque()
for i in range(1, N + 1): # 1부터 N까지 카드
queue.append(i)
for i in range(N - 1): # 첫번째 값을 빼고 다음 값을 끝에 더한다
queue.popleft()
queue.append(queue.popleft())
print(queue.pop()) # 마지막으로 남은 값 출력
🌸 1966 프린터 큐

import sys
from collections import deque
X = int(sys.stdin.readline()) # 테스트 케이스 수
for i in range(X):
N, M = map(int, sys.stdin.readline().split()) # 문서의 개수, 해당 문서가 놓인 순서
count = 0 # 출력된 문서 개수 초기화
queue = deque(list(map(int, sys.stdin.readline().split()))) # 문서의 중요도
while(True):
if queue[0] >= max(queue): # 가장 크면 pop으로 삭제
count += 1
if M == 0:
break
else:
queue.popleft()
M -= 1
else:
queue.append(queue.popleft()) # 가장 크지 않으면 뒤로 보내기
if M == 0:
M = len(queue) - 1
else:
M -= 1 # 순서를 당기기
print(count)
queue.clear() # 큐 초기화
더보기
느낀점 ⭐
이번 4주차 큐 문제의 경우 '1966번 프린터 큐'를 제외하고 큰 무리 없이 풀 수 있었다.
프린터 큐 문제의 경우 문제를 이해하는 시간이 굉장히 오래걸렸고, 혼자서 문제를 이해할 수 없어 문제를 해결한 다른 분들의 코드를 보고 확인하였다. 다음 5주차의 경우 열심히 리스트, 튜플, 딕셔너를 준비하여 발표하고 문제도 미리 풀어봐야겠다. 모각코가 이제 2주 밖에 남지 않았는데 그동안 실버 5에서 3이 된 것처럼 모각코가 끝날 때 쯤에 골드가 될 수 있도록 다양한 문제들을 더 많이 풀어봐야겠다.
'모각코 (23)' 카테고리의 다른 글
[Python] 모각코 백준 문제풀이5 (0) | 2023.08.20 |
---|---|
[Python] list, tuple, dictionary (1) | 2023.08.03 |
[Python] 모각코 백준 문제풀이3 (0) | 2023.07.20 |
[Python] 모각코 백준 문제 풀이2 (0) | 2023.07.18 |
[Python] 모각코 백준 문제 풀이 1 (0) | 2023.07.13 |