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

noahsway님의 프로필 이미지
noahsway

작성한 질문수

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

2-I

atoi를 이용한 코드가 틀린 이유

작성

·

460

0

http://boj.kr/216b077f0cbc47fabca1436ebcabad2b

선생님 이 문제를 atoi를 이용해서 풀 면 틀렸다고 뜨는데 그 이유가 atoi함수 자체가 string을 int로 바꾸는거라 string의 길이 제한을 넘어가기 때문에 틀렸다고 뜨는 건가요??

답변 1

1

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

안녕하세요 noah님ㅎㅎ

noah님은 숫자로 변환해서 푸신거잖아요~

이 문제를 잠깐 볼까요?

다음 N개의 줄에는 각 줄의 내용이 주어진다. 각 줄은 최대 100글자이고, 항상 알파벳 소문자와 숫자로만 이루어져 있다.

만약 숫자로 바꾸면 100글자의 숫자가 나오게 되는데 int의 경우 21억까지 처리를 못합니다.

여기서 21억이면 10글자밖에 안됩니다. long long으로 해도 20글자밖에 처리를 못하죠

즉, 이 문제에서 나오는 범위를 숫자로 처리를 못하기 때문에 문자열로 풀어야 합니다. 그래서 atoi를 하게 되면 틀렸다고 뜨게 됩니다.

 

감사합니다.

 

noahsway님의 프로필 이미지
noahsway

작성한 질문수

질문하기