본문 바로가기
Python

백준 10845 Python

by Son 2023. 10. 11.

https://www.acmicpc.net/problem/10845

 

10845번: 큐

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

www.acmicpc.net

import sys

N = int(sys.stdin.readline()) ##첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)

queue = [] ##명령의 수를 담을 queue list

for i in range(N): ##명령의 수만 큼 반복
    cmd = sys.stdin.readline().split() ## 명령과 수를 분리하여 cmd 배열에 넣어줌 EX) push 1 이라면 cmd[0] = push cmd[1] = 1

    if cmd[0] == "push":  ##push 명령이라면
        queue.insert(0, cmd[1]) ## insert(index , index에 넣을 값) 
        ##print(queue)

    elif cmd[0] == "pop": ##pop 명령이라면
        if len(queue) != 0: print(queue.pop()) #queue에 정수가 들어 있다면 queue에서 하나를 꺼내고 출력
        else: print(-1) ##정수가 없으면 -1출력

    elif cmd[0] == "size": ##size명령어가 들어오면
        print(len(queue)) ##queue의 개수 출력

    elif cmd[0] == "empty": ##empty명령어가 들어오면
        if len(queue) == 0: ##print(1) ##  큐가 비어있으면 1
        else : print(0) ## 아니면 0

    elif cmd[0] == "back":  ##empty명령어가 들어오면
        if len(queue) == 0: print(-1) ##queue에 들어있는 정수가 없는 경우에는 -1
        else: print(queue[len(queue) -1]) ##큐의 가장 뒤에 있는 정수

    elif cmd[0] == "front": ##front명령어가 들어오면
        if len(queue) == 0: print(-1) ##queue에 들어있는 정수가 없는 경우에는 -1
        else: print(queue[0]) ##큐의 가장 앞에 있는 정수

 

 

 

 

 

[Python 문법] 파이썬 입력 받기(sys.stdin.readline)

파이썬으로 코딩 테스트를 준비한다면, 반드시 알아야 할 입력방식인 sys.stdin.readline()에 대한 정리 입니다.

velog.io

https://codechacha.com/ko/python-list-append-insert-extend/

 

Python - 리스트 추가 (append, insert, extend)

Python에서 리스트에 요소를 추가할 때 `append()`, `insert()`, `extend()`를 사용할 수 있습니다. 각 함수의 사용 방법과 예제들을 소개합니다. `append()`는 아래 예제와 같이 리스트 마지막에 요소를 추가

codechacha.com

'Python' 카테고리의 다른 글

백준 10866 Python  (0) 2023.10.15
백준 1158 파이썬  (0) 2023.10.12
[파이썬] 문제풀이 특강 02  (0) 2023.10.03
정보처리기사 실기 2022년 2회  (0) 2023.09.19
정보처리기사 실기 2022년 3회  (0) 2023.09.17