sychoi0516   3년 전

해당 문제에서 종료조건이 .이라고 하길래

getline(cin, s, '.'); 를 써서 문자열을 입력받았더니 출력초과가 뜨고

getline(cin, s);
if (s == ".") break;

라고 고쳐 적으니 정답처리가 되었네요..

다른 부분 코드에는 문제가 없고 이것만 문제가 있는 것 같은데

혹시 왜 그런지 아시는 분 계신가요?

getline()의 개념을 찾아보니 '구분자를 제외한 앞부분을 저장한다'라고 되어있어서

저는 저렇게 쓴 건데ㅠㅠ

초보라 개념적인 부분에서 헷갈리고 헤매고 있는 것 같습니다..

'출력초과'가 왜 나오는지 설명해주실 수 있으신가요?ㅠㅠ

혹시나 다른 부분에서 문제가 있는 건지 싶어 정답처리된 코드를 첨부합니다

pichulia   3년 전

반례입니다.

그리고 출력초과가 나오는 코드를 올려주시기 바랍니다.

해당 코드에서 getline 부분만 바꾸신거라면

"종료 조건"이 없기 때문에 while(ture) 반복문을 빠져나가지 못해서 발생한 현상입니다.

sychoi0516   3년 전

앗 맞아요! getline 부분만 바꾼 거였습니다. 

확인해보니 정말 그렇군요ㅠㅠ

while문때문이라는 건 캐치 못하고 애꿎은 getline에 대해서만 찾아보았네요.

pichulia님 감사합니다.

댓글을 작성하려면 로그인해야 합니다.