lks21c   6년 전

ACM PDF 찾아서 TC 맞춰보고 문제에 주어진 TC도 맞추어봐서

다 잘 도는데 실제로 제출하면 틀렸다고 나옵니다.

어디서 문제가 있는지 알 수 있을까요?

djm03178   6년 전

10을 넣으면 5 가 나와야 하는데, 0이 나오네요.

lks21c   6년 전

감사합니다. 지적하신 예외 처리 덕분에 맞았습니다!

그런데 혹시 고수님이시면 예외의 TC를 고안해 내는 좋은 Tip이 있을까요?
제가 꼼꼼하지 못해서 그런지 도무지 예외의 TC 생각이 잘 안나서 여쭤봅니다.

아는 거라곤 경계값 체크 하는 것 말고는 생각나는게 없는데 Tip이 있다면 알려주시면 대단히 감사하겠습니다!

djm03178   6년 전

사실 이번 건 그냥 제일 작은 값들부터 차례로 넣다가 운 좋게 걸려든 거긴 한데, 알고리즘에서 "예외를 처리하는" 과정은 최소화하는 것이 좋은 알고리즘이라고 생각합니다.

예외가 발생할 수 있다는 건 그 알고리즘이 그 자체로 문제를 완전히 커버하지 못한다는 뜻인데, 알고리즘의 모든 과정이 어떤 입력에 대해서도 올바르게 처리할 수 있다는 것을 먼저 검증하고 시작한다면 나중에 가서 예외를 처리할 필요는 없어지죠.

10이라는 값도 이 문제에서는 경계값이라고 할 수 있는데, 자릿수를 기반으로 탐색하는 알고리즘이기 때문에 자릿수가 바뀌는 지점에서 어떻게 동작할지를 고려해보는 건 좋은 경계값 체크라고 할 수 있겠네요.

lks21c   6년 전

좋은 말씀 너무 감사합니다.

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