인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

Hephaestus님의 프로필 이미지

작성한 질문수

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

2-I

오류에 대해서 질문드립니다!

해결된 질문

작성

·

2.5K

·

수정됨

0

안녕하세요 큰돌님! 문제를 풀어보았는데 문제에 있던 예제들과 제가 생각해 본 여러 테스트 케이스들을 넣어보았고 모두 정상적으로 출력이 됐습니다. 하지만 문제를 제출하고 나면 사진과 같은 오류가 뜨고 틀렸다 나오는데 해결 방법이 있을까요..?

http://boj.kr/7a8e29bc045a4ce1a598e71b72cb331a

화면 캡처 2022-12-05 232201.png

Main.cc: In function ‘int main()’:
Main.cc:16:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   16 |                 for (int j = 0; j < w.size(); j++) {
      |                                 ~~^~~~~~~~~~
Main.cc:57:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   57 |         for (int i = 0; i < arr.size(); i++) {
      |                         ~~^~~~~~~~~~~~

답변 1

1

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

안녕하세요. whddls3318님 ㅎㅎ

저 warning은 상관없습니다. w.size()라는 걸 보면 사실 저게 size_t라는 타입이기 때문에 (int)w.size()가 올바른 코드긴 해요. but, 그러실 필요는 전혀 없습니다. 그냥 .size()를 해도 됩니다.

자, 그러면 이게 왜 틀릴까요? 이 문제의 지문을 다시보죠. "다음 N개의 줄에는 각 줄의 내용이 주어진다. 각 줄은 최대 100글자이고, 항상 알파벳 소문자와 숫자로만 이루어져 있다.", 그렇다면 다음 코드는 어떤문제가 있을까요?

ret += que.front() * (int)pow(10, k);

 

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

감사합니다.

강사 큰돌 올림.

Hephaestus님의 프로필 이미지
Hephaestus
질문자

앗.. 10의 100승이라니 터무니없네요..ㅎㅎ; 답변 감사드립니다!!