반례입니다.
그리고 출력초과가 나오는 코드를 올려주시기 바랍니다.
해당 코드에서 getline 부분만 바꾸신거라면
"종료 조건"이 없기 때문에 while(ture) 반복문을 빠져나가지 못해서 발생한 현상입니다.
4949번 - 균형잡힌 세상
앗 맞아요! getline 부분만 바꾼 거였습니다.
확인해보니 정말 그렇군요ㅠㅠ
while문때문이라는 건 캐치 못하고 애꿎은 getline에 대해서만 찾아보았네요.
pichulia님 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
sychoi0516 3년 전
해당 문제에서 종료조건이 .이라고 하길래
getline(cin, s, '.'); 를 써서 문자열을 입력받았더니 출력초과가 뜨고
getline(cin, s);
if (s == ".") break;
라고 고쳐 적으니 정답처리가 되었네요..
다른 부분 코드에는 문제가 없고 이것만 문제가 있는 것 같은데
혹시 왜 그런지 아시는 분 계신가요?
getline()의 개념을 찾아보니 '구분자를 제외한 앞부분을 저장한다'라고 되어있어서
저는 저렇게 쓴 건데ㅠㅠ
초보라 개념적인 부분에서 헷갈리고 헤매고 있는 것 같습니다..
'출력초과'가 왜 나오는지 설명해주실 수 있으신가요?ㅠㅠ
혹시나 다른 부분에서 문제가 있는 건지 싶어 정답처리된 코드를 첨부합니다