1. 그림은 모든 케이스를 포함하고있지 않으므로, 이해하기 쉽다고 그림을 보고 알고리즘을 짜면 거의 무조건 반례에 걸린다. 문제에서 제시하는 '정의'를 보고 코드로 옮겨야한다. 그림에 현혹되지 말자! 2. 항상 index가 boundary를 벗어나는지( 0보다 작은지, N보다 큰지)를 검사해야한다. 3. 복사 붙여넣기는 가능하면 하지 말자. 붙여넣고 변경할 부분(i, j 가 대표적)을 제대로 변경하지 않으면 디버깅 시에 애를 먹는다. (인간의 심리상 그쪽을 먼저 의심하지 않음)가능하면 직접 타이핑하는 것이 좋다. 4. 격자 순환시에 값이 바뀌는 경우가 있으면 항상 주의해야한다. 해당 좌표 이후 계속 순환이 이어지면 예측할 수 없는 결과가 나타난다. 문자열 순회하면서 수정할 때도 마찬가지. 5. DFS나 ..