회신: 38.8 심사문제. 지뢰찾기
, 도장_ 관리자님이 작성-. Unit 6을 참고해 디버거를 이용하세요.
-. 코드의 변경 조건
if (x < 0 || x >= j || y < 0 || y >= j) // 배열범위 초과값 건너뜀
continue;
else if (matrix[y][x] == '*') // 탐색범위에서 '*'지뢰 발견시
{
matrix[i][j] += 1; // 최초 지뢰없음칸에 +1 합산
}
행렬의 값을 변경하는 유일한 부분이 else if입니다. 이 부분이 한 번도 실행되지 않아서 결과에도 변경이 없는 것입니다.
디버거로 if 부분에 중단점을 설정해서 실제 조건이 어떻게 판별되는지 확인하세요.
-. 건너 뛴다
38.8은 처음 풀기에는 어려운 문제입니다. 학습을 계속하다가 나중에 다시 시도해보는 것이 좋습니다.
지뢰 찾기는 입사 시험 단골 출제 문제입니다. 졸업반 정도의 실력이면 충분히 풀 수 있습니다.