인프런 커뮤니티 질문&답변

lovewrite030110님의 프로필 이미지
lovewrite030110

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-I

2-i 출력 초과 오류

작성

·

428

·

수정됨

0

안녕하세요, 큰돌님. 정답 코드에서는 문자열로 비교하였으나 숫자로 직접 비교하는 것도 직관적으로 이해하는 것에 괜찮을 거 같아 코드를 작성해보았습니다.

그런데 숫자를 바꾸고 백터에 옮기는 과정 중에 오류가 생겼는지, 더 많은 숫자들이 출력이 됩니다. 이유가 무엇이고 어떻게 고쳐야 하는지 알 수 있을까요?

http://boj.kr/365467e927da44928353bd48a3dbbe56

아직 실력이 부족하여 질문이 많은 점 죄송합니다. 나름 오랜시간 고민하였습니다. 백터 대신 배열을 크게 잡아 문제를 풀려고 하였는데, 테스트 케이스의 출력은 나오나 이 역시 틀렸다고 나옵니다.

이유가 무엇일까요?

http://boj.kr/50f1df6dee5f423ba7f4bf219d2fdd1c

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 love님 ㅎㅎ

문제 지문을 다시 볼게요.

각 줄은 최대 100글자이고

라는 말이 있죠?

자 그러면 int로 감당할 수 있는 글자일까요?

int com= change(numList[i]);//string에 저장된 숫자를 비교 하기 위해 숫자로 바꿈. 
		

이코드를 보면 해당 글자를 INT형으로 바꾸고 있죠?

int형은 21억까지 감당할 수 있는 타입입니다. 21억. 커보이지만 10글자밖에 안됩니다 10자리숫자에요. long long은 20자리 밖에 감당이 안됩니다.

그러나 이문제는 100글자, 즉, 최대 100자리까지 나오기 때문에 숫자로는 커버가 불가능합니다.

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

lovewrite030110님의 프로필 이미지
lovewrite030110

작성한 질문수

질문하기