문제 링크입니다: https://www.acmicpc.net/problem/3015 시간복잡도를 O(N)으로 줄여야했기 때문에 어려웠던 문제였습니다. 알고리즘은 아래와 같습니다. 1. 을 저장하는 스택을 선언합니다. 2. 핵심은 스택 제일 아래 저장되어 있는 키부터 top까지 내림차순을 유지하는 것입니다. -> 따라서, 현재 키가 스택의 top보다 클 경우 스택의 top이 현재 키와 같거나 클 때까지 pop을 해줍니다. 3. 스택이 비어 있다면 스택에 push 해줍니다. 4. 스택이 비어 있지 않을 경우 i) 현재 키와 스택의 top이 같을 경우 pop을 해준 뒤 second(연속 몇 명)를 수정해줍니다. -> 이 때, 스택이 비어있지 않다면 스택 내 제일 큰 사람과 쌍을 이루므로 결과에 1 증가 ii)..