일단 반례는 아래에 있습니다. 정답은 1입니다. (위 코드의 출력은 4입니다.)
- 3번째 N을 첫 번째 사람에게 줄 경우, 그 다음 사람에게는 5번째 N을 줘야 합니다. 이러면 현재 남은 스택이 NYY라 순서가 NNYYN 순서가 되어 원래 순서를 지킬 수가 없습니다. 따라서 3은 정답에 더해지지 않습니다.
- 5번째 N을 첫 번째 사람에게 주는 경우 NYNYN이 되므로 역시 정답에 더해지지 않습니다.
- 첫 번째 N을 첫 번째 사람에게 주고 남은 4개를 모두 조리한 다음 역순으로 주면 되므로 1은 정답에 더해집니다.
이 문제는 정말 깔끔하고 어려운 문제입니다... 검수를 하긴 했지만, 아이디어가 굉장히 어려워서 생각해내는 데 애를 먹었던 것으로 기억합니다.
ksoosung77 1년 전
다 아무거나 입력하고 맞아보이는데 왜 틀리는거죠 ㅠ