작성
·
37
·
수정됨
0
답변 1
0
안녕하세요 인서님 ㅎㅎ
상당히 잘 짜셨네요 ㅎㅎ
흠잡을 곳이 없는 코드입니다.
다만, 흠을 굳이 잡자면요
if(nx>=0 && nx < m && ny >= 0 && ny < n){
if(!visited[ny][nx]){
if(board[cur.first][cur.second] == '0')
dist[ny][nx] = dist[cur.first][cur.second];
else
dist[ny][nx] = dist[cur.first][cur.second] + 1;
visited[ny][nx] = true;
q.push({ny,nx});
}
이렇게 하다보면 틀릴 가능성이 높아질 수도 있습니다. 이게 보시면 약간 삼각형처럼 파여들어가죠?
if 문 분기처리가 깊어지다보면 헷갈릴수가 있거든요.
따라서
if(nx>=0 && nx < m && ny >= 0 && ny < n){
이부분은 해당 조건이 아니라면 -> continue를 걸어주는 것도 좋은 것 같습니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.