해설

Italian brainrot

문제로 돌아가기

해설

캐릭터들 사이에 아무 전체 순서를 하나 정한다. 예를 들어 입력으로 주어진 순서가 앞선 캐릭터가 항상 이긴다고 정하자.

그러면 캐릭터 BB가 캐릭터 AA를 이겼다는 것은 BBAA보다 입력에서 앞에 있다는 뜻이다. 또한 캐릭터 CC가 캐릭터 BB를 이겼다면 CCBB보다 입력에서 앞에 있다. 따라서 CCAA보다도 입력에서 앞에 있으므로, CCAA를 이긴다.

즉 입력 순서대로 앞선 캐릭터를 출력하면 항상 조건을 만족한다.

각 이름에 입력 순서 번호를 저장해 두고, 각 질의마다 번호가 작은 이름을 출력하면 된다. 같은 이름이 두 번 주어졌다면 그 이름을 출력한다.

시간 복잡도는 O(L+Q)O(L + Q)이다. 여기서 LL은 입력으로 주어진 캐릭터 이름 길이의 합이다.