[伯俊]17299:五等大数(Python)
質問する📖
に答える🙏
count[data[stack[-1]]] < count [data[i]]
つまり、スタック上部に存在する値の重複個数が現在の入力値よりも小さい場合、すなわち、右側に最初の対等大数が現れると、スタック上部の値がdata[i]
に変更される.コード#コード#💻
from collections import Counter
n = int(input())
data = list(map(int, input().split()))
count = Counter(data) # 변수 마다 개수를 저장
stack = []
result = [-1] * n
stack.append(0)
for i in range(n):
while stack and count[data[stack[-1]]] < count[data[i]]:
result[stack.pop()] = data[i]
stack.append(i)
for r in result:
print(r, end=' ')
Reference
この問題について([伯俊]17299:五等大数(Python)), 我々は、より多くの情報をここで見つけました https://velog.io/@wlrhkd49/백준-17299-오등큰수-Pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol