광고
광고
*pypy3으로 제출해야 통과한다. (진짜 아슬아슬하게 시간 안에 들은 것 같다..)
*파이썬 유저가 아니라서 더 이상 시간을 줄일 방법이 안 떠오른다.
*input() 이 아니라 sys.stdin.readline 을 써야 한다.
*c++에 scanf / java 에 bufferedReader 같이 입출력을 빠르게 해 주는 라이브러리 인 것 같다.
*리스트를 큐로 구현했는데, pop(), index() 로 요소를 찾는 것보다는 size, idx 를 이용해서 투 포인터 같이 사용하는 게 더 빠르다.
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 32 33 34 35 36 37 38 | import sys read = sys.stdin.readline queue = [] idx = 0 size = 0 for _ in range( int (read())): order = read().rstrip( "\n" ) try : order, value = order.split() except:pass if (order == "push" ): queue.append(value) size+=1 elif (order == "front" ): if (size == idx): print(-1) else : print(queue[idx]) elif (order == "back" ): if (size == idx) : print(-1) else : print(queue[size-1]) elif(order == "size" ): print(size - idx) elif (order == "empty" ): if (size == idx): print(1) else : print(0) elif (order == "pop" ): if (size == idx) : print(-1) else : print(queue[idx]) idx+=1 |
'BOJ > Python' 카테고리의 다른 글
이메일 만들기 (0) | 2020.04.28 |
---|---|
[Python] 리스트 안에 중복된 원소의 개수 구하기 (0) | 2020.03.28 |
[BOJ] 1181. 단어 정렬 (0) | 2020.03.18 |
[BOJ] 1475. 방 번호 (0) | 2020.03.18 |
[BOJ] 4949. 균형잡힌 세상 (0) | 2020.03.18 |