좀 쉽게 쉽게 처리하는 방식을 생각해보면..
scanf("%1d", 와 같이 하시면 숫자를 한 글자씩 읽어 들일 수 있습니다..
11720번 - 숫자의 합
오 감사합니다 정말 좋은 방법이에요
코드가 틀린 이유를 말씀드리겠습니다.
int 타입 자료형은 32-bit의 정수형 자료를 저장합니다. 32-bit로는 2^32개의 숫자를 표현할 수 있는데요.
2^10이 약 1,000정도 라는 것을 생각한다면 int는 약 4,000,000,000가지의 숫자를 표현할 수 있습니다.
여기서 int는 절반 정도는 양수를, 나머지 절반은 음수를 표현합니다. 즉, -2,000,000,000 ~ 2,000,000,000 정도의 숫자 범위만 저장할 수 있습니다.
이 숫자가 표현할 수 있는 자릿수는 9자리입니다. 그런데 문제에서 N이 최대 100일 수 있는데, 100자리 자료를 scanf("%d", &number)라는 명령어로 한 번에 받으려 하기 때문에 에러가 납니다.
Counter case 는 N = 100, Number = 11111111111111111111111111111.....1111111 (1이 100개)가 입력되었을 때 답이 100이 나와야 하는데, 실제론 그렇게 나오지 않을 것입니다.
댓글을 작성하려면 로그인해야 합니다.
ericyong95 6년 전
안녕하세요 테스트해봤을 때 값이 제대로 나오지 않아 질문합니다.
저는 이 문제를 10의 n승 값을 이용해 풀어보려고 했습니다.
54321이 있을 때 50000 + 4000 + 300 + 20 + 1인 것을 이용하여
제일 높은 자릿수부터 10의 n제곱을 나누어주어
그 몫이 해당하는 자리의 정수값이 되는 성질을 이용해 풀어보려고 하였습니다.
비주얼 스튜디오에서 제가 테스트해본 예제들은 이상이 없었는데요.
채점 결과 틀렸습니다라고 나와 질문 올려봅니다.
그리고 해당 문제에서 어떤 예제가 테스트로 나오는지 어떻게 알 수 있나요? 틀렸을 때 틀린 이유를 모르겠어서 헤멘 적이 많아서요 ㅠㅠ
읽어주셔서 감사합니다