goliath12   1년 전

테스트 범위를 최대한 줄이려고 생각해본건데 틀렸다고 나옵니다. 어디가 틀렸는지 지적좀 해주세요.

각 자리수의 합이 최대일때 두자리수라서 자리수 변화는 최대 한자리라고 생각합니다.

그래서 테스트 범위를 10 ^ (입력값의 자리수 - 1) ~ (입력값)으로 했는데 틀렸다고 나오고 10 ^ (입력값의 자리수 - 2) ~ (입력값)으로 하면 맞다고 나오네요.

제 접근이 어디가 잘못되었나요?

pichulia   1년 전

10일 때 5가 잘 나오나요?

아니면 2일 때 1이 잘 나온다던가..

pichulia   1년 전

접근은 대충 맞았습니다만.. 10^(자릿수-2)가 아니라 10^(자릿수-1)으로 검사했다는 점과...n의 자리수가 2자리수 이하일 때도 잘 고려되는지..  그리고 math.h의 pow로 계산된 "실수값"이 신뢰도가 있는지 등등의 사소한 오류들이 있었습니다..

N이 6자리 숫자. 가령 123456 이라고하면

말씀하신대로 '최대 한자리수가 변화'하니까

5자리 숫자까지만 보면 되고 이는 10000. 즉 10^4 까지만 보면 됩니다.

goliath12   1년 전

감사합니다. 자릿수를 10의 거듭제곱하는데서 잘못계산했네요. 10과 2일 때 등 2자리수 이하일 때도 잘 작동합니다^^

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