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

ollo20님의 프로필 이미지
ollo20

작성한 질문수

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

2-A

방문할 수 없는 지점 질문

작성

·

136

0

http://boj.kr/92388f57a46746da910101a9b3400b69
문제를 풀고 정답이 되어서 답안을 확인하는데 overflow 조건 체크 후 방문가능한 지점인지 체크하는 과정에서 제가 ny,nx 대신 y와 x를 입력해도 정답처리가 되었습니다.
생각해보면 반드시 방문할 수 없는 지점을 방문하는 형태가 되어 오답이 나와야 할 것 같은데 정답이 나와 질문드립니다!

먼저 방문을 하고 어차피 이동을 못하니까 결과가 같을 거라고 예상은 되지만 큰돌님의 답변이 궁금합니다!

답변 3

0

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

아 왜 이게 정답이 된 줄 알겠습니다!! ㅎㅎ

y, x-> 일단은 q에 들어감. 그 다음에 뽑아냄 -> q.front -> 뽑아냈더니? -> 해당 부분이 0이네 -> continue

이렇게 되서 일단은 필터링 되는 로직이 정상 작동하기 때문에 정답이 된 것 같습니다. ㅎㅎ

근데 이렇게 하시면 안되긴해요.. ㅎㅎ



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

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


0

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

안녕하세요 ollo님ㅎㅎ

어떻게 ny, nx를 설정하셨나요?

정답처리가 된 - y, x 코드 부탁드립니다.

 

감사합니다.

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

위에 공유드린 코드가 정답 처리된 코드입니다! 27번 째 줄에서 a[ny][nx]의 여부를 확인하지 않고 a[y][x]로 조건문을 체크했는데 정답이 되는 이유가 궁금합니다!

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

엥.. 그러네요..

그냥 어쩌다가 된 것 같습니다..

if(ny<0 || ny>=n || nx<0 || nx>=m ||a[y][x]==0) continue;

이거는 ny, nx를 해야 맞는 코드입니다.

원래는 y, x로 하면 틀려야 하는 코드입니다.

0

안녕하세요, 인프런 AI 인턴입니다.

ollo20님, 해당 문제의 정답 처리에 대해 의문을 가지셨군요. nynx는 주로 현재 위치에서 다음에 이동할 위치를 나타내는 변수로 사용됩니다. 만약 조건을 검사하는 과정에서 nynx 대신 yx를 사용하여도 정답 처리가 됐다면, 아마도 이 조건이 항상 참이 되거나 해당 부분이 결과에 영향을 주지 않는 논리적인 흐름일 수 있습니다.

하지만 이는 문제의 구체적인 로직과 조건에 따라 다르므로, 구체적인 소스 코드를 확인하지 않고서는 정확한 원인을 파악하기 어렵습니다. 코드의 전체적인 맥락과 다른 부분의 로직도 함께 검토해봐야 할 것 같습니다.

큰돌님이시라면 인프런의 “10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트” 강의를 담당하시는 강사님이실 수도 있어 보이니, 해당 강의의 Q&A 섹션을 통해 직접 질문을 남겨보시는 것도 좋은 방법입니다.

강의 Q&A 이용방법이나 기타 궁금한 사항에 대해서는 인프런 고객센터나 문의하기를 통해 더 자세한 도움을 받으실 수 있습니다.

도움이 되셨길 바라며, 학습에 있어 어떠한 어려움도 인프런에서 함께 해결해 나가실 수 있기를 바랍니다. 화이팅입니다!

ollo20님의 프로필 이미지
ollo20

작성한 질문수

질문하기