ksoosung77   1년 전

다 아무거나 입력하고 맞아보이는데 왜 틀리는거죠 ㅠ

cozyyg   1년 전

일단 반례는 아래에 있습니다. 정답은 1입니다. (위 코드의 출력은 4입니다.)

  • 3번째 N을 첫 번째 사람에게 줄 경우, 그 다음 사람에게는 5번째 N을 줘야 합니다. 이러면 현재 남은 스택이 NYY라 순서가 NNYYN 순서가 되어 원래 순서를 지킬 수가 없습니다. 따라서 3은 정답에 더해지지 않습니다.
  • 5번째 N을 첫 번째 사람에게 주는 경우 NYNYN이 되므로 역시 정답에 더해지지 않습니다.
  • 첫 번째 N을 첫 번째 사람에게 주고 남은 4개를 모두 조리한 다음 역순으로 주면 되므로 1은 정답에 더해집니다.

이 문제는 정말 깔끔하고 어려운 문제입니다... 검수를 하긴 했지만, 아이디어가 굉장히 어려워서 생각해내는 데 애를 먹었던 것으로 기억합니다.

ksoosung77   1년 전

세상에 저런 반례는 생각도 못했네요 감사합니다.

ksoosung77   1년 전

덕분에 문제 해결 하였습니다

저가 푼 방식에서 더 할 핵심이 특정 구간은 N과 Y갯수가 같아야 한다는 요점을 알게 되서 풀게 되었습니다

댓글을 작성하려면 로그인해야 합니다.