https://www.acmicpc.net/problem/10845
[정답]
먼저 queue에 대한 함수들을 정의한다.
1. 'push X: 정수 X를 큐에 넣는 연산이다.' → push(X): append() 함수를 사용하여 큐 q_queue에 인자값 X를 push한다.
2. 'pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.' → pop(): len(q_queue)==0이라면 -1을, len(q_queue)==0이 아니라면 popleft() 함수를 사용하여 q_queue에 가장 앞에 있는 정수를 pop한다.
3. 'size: 큐에 들어있는 정수의 개수를 출력한다.' → size(): len() 함수를 사용하여 q_queue의 길이를 출력한다.
4. 'empty: 큐가 비어있으면 1, 아니면 0을 출력한다.' → empty(): len(q_queue)==0이라면 -1을, len(q_queue)==0이 아니라면 0을 출력한다.
5. 'front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.' → front(): len(q_queue)==0이라면 -1을, len(q_queue)==0이 아니라면 큐의 가장 앞에 있는 정수 즉 q_queue[0]을 출력한다.
5. 'back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.' → back(): len(q_queue)==0이라면 -1을, len(q_queue)==0이 아니라면 큐의 가장 뒤에 있는 정수 즉 q_queue[-1]을 출력한다.
6. 명령어 수를 N에 입력받는다. 큐의 역할을 할 큐 q_queue를 정의한다.
7. for문을 돌면서 명령어를 comm에 입력받는다. comm을 split()으로 받아 comm=push 1일 경우, comm[0]=push, comm[1]=1로 되도록 한다. comm[0]이 각각 'push', 'pop', 'size', 'empty', 'front', 'back' 경우를 나누어 위에서 정의한 알맞은 함수에 적용한다.
큐2를 푼 후 이 문제를 풀었는데 정답은 같다!
https://heewon9809.tistory.com/228
'알고리즘 공부 > 백준 > Python3' 카테고리의 다른 글
[백준 파이썬] #1264: 모음의 개수 (0) | 2021.02.12 |
---|---|
[백준 파이썬] #11721: 열 개씩 끊어 출력하기 (0) | 2021.02.10 |
[백준 파이썬] #1924: 2007년 (0) | 2021.02.07 |
[백준 파이썬] #2522: 별 찍기-12 (0) | 2021.02.07 |
[백준 파이썬] #5717: 상근이의 친구들 (0) | 2021.02.05 |