[백준 파이썬 17298번]오큰수★시간초과★VER2.0★
2022. 12. 31. 14:43
728x90
반응형
https://www.acmicpc.net/problem/17298
VERSION 2.0
import sys
from collections import deque
N = int(sys.stdin.readline())
A = list(map(int, sys.stdin.readline().split(' ')))
res = [-1] * N
deque = deque()
deque.append(0)
for i in range(1, N):
while deque and A[deque[-1]] < A[i]:
res[deque.pop()] = A[i] #i값은 가만히 있고, deque값은 pop 되므로 작은 것들만 값을 바꿔준다.
deque.append(i)
for i in res:
print(i , end = ' ')
#%%
==> deque값을 인덱스화 하여 처리한다.
==> 결과값을 미리 -1로 추가한다.
VERSION 1.0
import sys
from collections import deque
N = int(sys.stdin.readline())
A = list(map(int , sys.stdin.readline().split(' ')))
B = deque()
for i in enumerate(A):
B.append(i)
res = [-1] * N
for k ,v in B:
p = k+1
# print(k)
# print(f' B[p][1] : {B[p][1]}')
while p<=N-1:
if B[k][1] <= B[p][1]:
res[k] = B[p][1]
break
else:
p+=1
for i in res:
print(i , end = ' ')
#%%
==> while 문에 p<=N-1 해놓기 ==> 시간초과 난다.
728x90
반응형
'Python(백준) > 큐,덱' 카테고리의 다른 글
★str, join 기억하기★VER2.0★요세푸스문제0[백준 파이썬 11866번]★ (0) | 2023.04.24 |
---|---|
[백준 파이썬 11286번]★절댓값 힙 구현하기★heap.heappush(리스트 , (우선순위 비교값_1) , (우선순위 비교값_2)★heap.heappop(리스트) ==> 우선순위에 따른 pop() (1) | 2022.12.31 |
★큐,덱★Ver2.0★카드2[백준 파이썬 2164번] (0) | 2022.12.31 |
★큐,덱★라우터[백준 파이썬 15828번] (0) | 2022.11.03 |
★큐,덱★큐 2[백준 파이썬 18258번] (0) | 2022.11.03 |