ckrmsckrms19   6년 전

캡처5.PNG

board에 알파벳들을 집어넣고, check 벡터를 이용해 방문한 알파벳들을 체크하고 있습니다.

다른 건 다 문제가 없는 것 같은데, 36번줄에 다음과 같이 하면 런타임 에러가 생깁니다.

똑같은 코드에서 36번줄을

cin  >> board[i];

로 하면 정답이라고 하고요.


dfs 코드를 코멘트하고 돌려봐도 런타임 에러라고 뜨는 걸 보면 dfs 코드에 문제가 있는 것 같지는 않습니다. 

여기에서 getline() 과 cin에 차이가 있나요?

djm03178   6년 전

31번째 줄을 실행하고 나면 입력 버퍼에 개행 문자 '\n'이 남습니다.

그 다음 처음으로 호출되는 getline은 board[0][0]에 '\n'을 넣고 끝낼 것입니다.

ckrmsckrms19   6년 전

아 그 부분을 까먹었군요! 

감사합니다!

djm03178   6년 전

생각해 보니 '\n'도 아니고, 그냥 '\0'만 들어가겠네요.

ckrmsckrms19   6년 전

네 확인해보니 아무것도 안 들어가는 걸로 나옵니다. 

getline()이 newline 까지만 읽으니 그냥 아무것도 안 들어가더군요.

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