2468ab   6년 전

접근이 잘못 된건가요 ?? ㅠㅠ 반례좀 찾아 주시면 감사하겠습니다 ㅠㅠ

k 의 값이 10이 될수도 있지만 사실 숫자가 1000000을 제외하고는 최대 6자리임으로

5번만에 무조건 최대값을 찾을수 있다고 생각했습니다. 그렇다면 여기서

생각을 해본 결과 만약 최대값을 찾는다면 그 다음 할수 있는 수는 가장 작은 두값을 바꿔나가는 과정이라고 생각했습니다.

여기서 또 하나 생각 해볼것이 그렇다면 예를 들어 3번만에 최대값을 가졌다면 5번 7번 9번째에는 무조건 최대값이 결정되게 됩니다 하지만

4번째 6번째 8번째 10 번째는 과연 3번째 최대값을 통해 만들어지는가?

여기서 생각한것이 홀수 번째에서 최대값이 나오면서 짝수번째에 최대값이 나온다면 k 값에 관련없이 최대값이 결정

홀수 번째에서 최대값이 나오면서 짝수번째에 최대값이 나오지 않는다면 k가 홀수이면 최대 k 가 짝수이면 최대 바로하나전

이런 식으로 생각해 코드를 구현해 보았습니다.

그러면 15^6 정도 시간복잡도에 중간에 안하는 경우도 있어서 시간상은 문제가 안될거라고 생각했습니다.

2468ab   6년 전

자문자답 합니다 ㅋㅋㅋㅋ

36번째줄

if (number == max_1 && cnt != 0) 

으로 바꾸고 두자리수 처리 따로 해주면 맞네요 ㅠㅠ

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