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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

2-I 질문 입니다.

해결된 질문

작성

·

213

0

http://boj.kr/bcc06cf6a93641da9808a0950454e679

 

문자 탐색 및 종류 저장은 비슷하게 진행했고,

atoi를 사용해서 앞의 0 제거 및 정수화를 진행해서 map에 저장했습니다. 이후 벡터에 넣을 때, second값만큼 first를 pish_back 후 less<int>() functor로 정렬을 했습니다.

 

public TC에서는 문제없이 작동하지만 private TC에서 걸립니다.

어디서 문제가 발생하는지 모르겠습니다.

답변 1

1

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

안녕하세요 insomnia님 ㅎㅎ

지금 코드를 보면요.

		if(res.size() != 0) {
			mp[atoi(res.c_str())]++;

이렇게 되어있죠? 즉, 문자열을 int형으로 변환해서 로직을 구축하고 있습니다.

 

문제의 범위를 잠깐 볼까요?

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

 

int형은 21억까지로 이 21억은 10글자밖에 안됩니다. long long으로 해도 20글자밖에 커버가 안되는 것이죠.

즉, 이문제는 숫자로 커버할 수 없는 범위를 다루고 있기 때문에 문자열을 기반으로 로직을 수행해주어야 합니다.

해당 부분의 로직을 수정해보시겠어요?

 

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

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

감사합니다.

강사 큰돌 올림.


답변 감사합니다!

지문을 제대로 이해하지 못해서 int면 되겠지로 해석했던게 화근이었네요

타입 수정, 정렬 펑터 수정하니 문제없이 잘 되었습니다.

 

string간 대소비교에서 잠깐 막혔으나 금방 이해했네요

감사합니다!

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기