zakelstorm   6년 전

저는  이분탐색으로 문제를  접근해보았습니다. 이분탐색으로 시간을 찾고 선형탐색으로 마지막에 누가 먹었는지를 찾았습니다.

문제의 예제를 인용하자면 빵이  25개 사라졌을때 마지막 먹은 사람을 찾아야합니다.

14초에 23개의 빵이 사라지고 15초에 26개의 빵이 사라집니다.

저는 15초일때(빵이 26개 사라졌을때) 선형탐색으로 현재 시간(15초)과 그 사람이 먹는 주기(1번:1초 ,2번:3초 ,3번:5초)와 나눠떨어지를 계산하여

나눠떨어진다면 15초일 때 먹은것으로 판단하고 그렇지않다면 먹지 않은 것으로 판단했습니다.

그래서 만약 15초일때 마지막 순서인 3번이 빵을 먹었다면 3번이 26번째로 먹은사람이 되는것이고

그 다음에 2번이 빵을 먹었다면 2번이 25번째로 방을 먹은사람이 되어 2를 출력하고 프로그램을 종료하게 했습니다.


아 그리고 만약 빵이 사라진 개수보다 사람의 수가 많다면 0초에 다먹은 것으로 판단하여 빵이 사라진 개수 = 마지막에 빵을 먹은사람

으로 판단하도록 하였습니다.


제가 보기에는 논리적으로 오류가 없어보이는데 어떤 오류가 있길래 틀리는 걸까요 ㅜㅜㅜㅜ

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