강의

멘토링

커뮤니티

Inflearn Community Q&A

dkseotn1237962's profile image
dkseotn1237962

asked

10-Week C++ Coding Test | Algorithm Coding Test

Week 2 Concept #7. Maps and Direction Vectors

안녕하세요 강사님! ny >= n 오버플로우 질문이 있습니다.

Written on

·

356

0

2주차 개념 #7 맵과 방향벡터에서 18분28초에서 12번,13번 라인에 대한 질문입니다!

n이 3으로 주어졌을때 3x3배열에서 x와 y의 인덱스는 0부터 2까지인데 +1을해서 ny 또는 nx가 3이 될때, 이미 3초과에서 오버플로우가 발생하는데, ny == n 이 아닌 ny >= n 으로 작성하신 이유가 궁금합니다!

항상 감사합니다 큰돌님

질문이 서투른점 양해 부탁드립니다.

C++코테 준비 같이 해요!

Answer 1

1

kundol님의 프로필 이미지
kundol
Instructor

안녕하세요. Daesoo님 ㅎㅎ

옳으신 말씀입니다. ==으로 해도 무방합니다.

그러나, 사실 저 코드는 제 1700문제를 푼 짬빱이 들어가 있는 코드입니다. 지금이야 단순하게 +1, -1 따위의 4방향을 기반으로 방향벡터가 설정되고 그걸 기반으로 맵을 탐색하지만 나중에 가면 다양한 문제를 맞이하게 되며 +1, +2, +3으로 설정되는 방향벡터 또한 마주치게 됩니다. 그렇게 되었을 때 == 이 아니라 >=으로 해서 저러한 경우의 수로 발생되는 오버플로를 모두 해결할 수 있습니다.

즉, 다양한 문제 또한 >= 만으로 쉽게 오버플로를 체크하는 좀 더 높은 커버력을 가진 코드라고 보시면 됩니다.

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

예리한 질문 감사합니다.

강사 큰돌 올림.

dkseotn1237962님의 프로필 이미지
dkseotn1237962
Questioner

아! 이해했습니다. 아직 그래프 문제에 대한 경험이 전무하다보니 사고의 폭이 좁았습니다 ㅠ 친절한 설명 감사합니다.

dkseotn1237962's profile image
dkseotn1237962

asked

Ask a question