S2, 구현, 덱
풀이
- 값이 변하는 위치의 인덱스를 찾아
deque()
에 넣고
- 증가하는
i
와 deque()
의 [0]
과 비교하면서 답 찾기
from sys import stdin
from collections import deque
n = int(stdin.readline())
arr = [0] + list(map(int, stdin.readline().split()))
point = deque()
for i in range(1, n):
tmp = arr[i]
nxt = arr[i + 1]
if tmp != nxt:
point.append(i + 1)
for i in range(1, n + 1):
if len(point) == 0:
print(-1, end=" ")
else:
if i < point[0]:
print(point[0], end = " ")
else:
point.popleft()
if len(point) == 0:
print(-1, end=" ")
else:
print(point[0], end = " ")