10을 넣으면 5 가 나와야 하는데, 0이 나오네요.
2231번 - 분해합
사실 이번 건 그냥 제일 작은 값들부터 차례로 넣다가 운 좋게 걸려든 거긴 한데, 알고리즘에서 "예외를 처리하는" 과정은 최소화하는 것이 좋은 알고리즘이라고 생각합니다.
예외가 발생할 수 있다는 건 그 알고리즘이 그 자체로 문제를 완전히 커버하지 못한다는 뜻인데, 알고리즘의 모든 과정이 어떤 입력에 대해서도 올바르게 처리할 수 있다는 것을 먼저 검증하고 시작한다면 나중에 가서 예외를 처리할 필요는 없어지죠.
10이라는 값도 이 문제에서는 경계값이라고 할 수 있는데, 자릿수를 기반으로 탐색하는 알고리즘이기 때문에 자릿수가 바뀌는 지점에서 어떻게 동작할지를 고려해보는 건 좋은 경계값 체크라고 할 수 있겠네요.
댓글을 작성하려면 로그인해야 합니다.
lks21c 6년 전
ACM PDF 찾아서 TC 맞춰보고 문제에 주어진 TC도 맞추어봐서
다 잘 도는데 실제로 제출하면 틀렸다고 나옵니다.
어디서 문제가 있는지 알 수 있을까요?