1987번 - 알파벳
board에 알파벳들을 집어넣고, check 벡터를 이용해 방문한 알파벳들을 체크하고 있습니다.
다른 건 다 문제가 없는 것 같은데, 36번줄에 다음과 같이 하면 런타임 에러가 생깁니다.
똑같은 코드에서 36번줄을
cin >> board[i];
로 하면 정답이라고 하고요.
dfs 코드를 코멘트하고 돌려봐도 런타임 에러라고 뜨는 걸 보면 dfs 코드에 문제가 있는 것 같지는 않습니다.
여기에서 getline() 과 cin에 차이가 있나요?
31번째 줄을 실행하고 나면 입력 버퍼에 개행 문자 '\n'이 남습니다.
그 다음 처음으로 호출되는 getline은 board[0][0]에 '\n'을 넣고 끝낼 것입니다.
아 그 부분을 까먹었군요!
감사합니다!
생각해 보니 '\n'도 아니고, 그냥 '\0'만 들어가겠네요.
네 확인해보니 아무것도 안 들어가는 걸로 나옵니다.
getline()이 newline 까지만 읽으니 그냥 아무것도 안 들어가더군요.
댓글을 작성하려면 로그인해야 합니다.
ckrmsckrms19 6년 전
board에 알파벳들을 집어넣고, check 벡터를 이용해 방문한 알파벳들을 체크하고 있습니다.
다른 건 다 문제가 없는 것 같은데, 36번줄에 다음과 같이 하면 런타임 에러가 생깁니다.
똑같은 코드에서 36번줄을
cin >> board[i];
로 하면 정답이라고 하고요.
dfs 코드를 코멘트하고 돌려봐도 런타임 에러라고 뜨는 걸 보면 dfs 코드에 문제가 있는 것 같지는 않습니다.
여기에서 getline() 과 cin에 차이가 있나요?