개발 블로그
Published 2023. 4. 13. 21:14
[TIL] DAY 11 항해99

오늘 겪은 문제

알고리즘 주차 마지막 날이라서 시험을 봤다. 그 중 지뢰찾기 맵을 만드는 문제를 푸는데 IndexOutOfBoundsException 이 발생했다.

 

 

시도한 방법

로직을 다시 생각해봤지만 로직에는 문제가 없다고 생각해 얼마 전 항해 동료에게 배웠던 디버깅을 진행해봤다.

IndexOutOfBoundsException 이 발생할 만한 라인(배열에서 값을 꺼내오는 라인)에 브레이크 포인트를 걸고 언제 Exception 이 발생하는 지를 확인했다.

 

그렇게 확인한 결과 지뢰찾기 맵을 만들기 위해서는 i, j 번째 칸의 주위 8 칸을 확인하는 과정이 필요했는데 이 때 IndexOutOfBoundsException 이 발생하는 것이었다.

 

해결 방법

인덱스에 조건을 걸어서 배열에서 값을 꺼내오는 인덱스가 0 이상 배열의 크기 미만일 때만 꺼내오도록 하여 해결했다.

 

느낀 점

사실 과거에 다른 알고리즘 문제를 풀 때도 배열을 사용하면 IndexOutOfBoundsException 을 마주하는 경우가 종종 있었다.

 

문제를 풀기 위한 베이스 로직을 세운 뒤 다 됐다고 생각할 것이 예외 사항이 발생 가능한지 점검하는 과정이 꼭 필요하다는 것을 느꼈다.

'항해99' 카테고리의 다른 글

[TIL] DAY 13  (0) 2023.04.16
[TIL] DAY12  (0) 2023.04.15
[TIL] DAY 10  (0) 2023.04.12
[TIL] Day 9  (0) 2023.04.12
[TIL] Day8  (0) 2023.04.10
profile

개발 블로그

@하얀.손

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!