Monotonic equality

동점은 자료구조가 아니라 문제 문장이 결정한다

같은 값이 들어왔을 때 pop할지 보존할지는 “더 큰 값”, “최댓값”, “가격이 떨어짐” 같은 비교 문장에서 갈린다.

다음 큰 수

같은 값은 답이 아니다

while top < x: pop [2, 2, 3] → 두 2의 답은 3

동점 보존 후 더 큰 값을 기다린다.

윈도우 최댓값

새 동점을 우선한다

while back <= x: pop [1, 3, 3, 2], k=3

동점 교체로 더 오래 남는 인덱스를 보존한다.

가격 지속 기간

하락만 종료다

while price[top] > x: pop [3, 3, 2] → 동점은 유지

동점 대기 후 실제 하락에서 기간을 확정한다.

문장 신호 pop 조건 동점 처리 틀리는 신호
strictly greater top < x 같은 값 보존 같은 값끼리 답으로 연결됨
window max back <= x 새 인덱스로 교체 만료된 동점이 앞에 남음
duration until drop top > x 하락 전까지 유지 같은 가격에서 기간이 끊김

결론: 단조 구조의 오답은 대부분 자료구조 선택이 아니라 비교 연산자 하나에서 시작한다.