TIL 12/26

드립이 블로그·2022년 12월 26일
0

TIL

목록 보기
38/80

오늘은 금요일에 풀지 못했던
https://school.programmers.co.kr/learn/courses/30/lessons/120866
이 문제를 풀었다.
그냥 기존 board에 범위 설정만 잘하면 되겠지 싶어서 그냥 풀다가 계속 ArrayIndexOutOfBoundsException이 뜨길래, 왜 이러지 하고 계속 고민했는데, 팀원분이 try catch를 쓰거나, 다른 board를 만들면 쉽다고 조언해 주었다.
그래서 try catch로 ArrayIndexOutOfBoundsException이 뜨면 무시하고 진행하게 해봤다.
그랬더니 4문제가 해결이 되지 않는 것이 보였다.
몇번 더 고민해 보다가 try catch로 푸는 것은 포기했다.
그 이후에 더 큰 보드를 만들어 풀어보았다.
더 큰 보드의 배열의 크기는 기존 board보다 2 더 크게 설정해 놓고,[i][j]가 [0][0]이 아닌 [1][1]부터 시작해서 [n-1][n-1]에서 끝나게 했다.
이렇게 해야 [i-1][j-1]를 해도 [0][0]이 되므로 ArrayIndexOutOfBoundsException가 발생하지 않을 것이라 생각했다.
이 후에 값을 return 할때에도 [1][1]부터 [n-1][n-1]까지의 값을 리턴했다.
그랬더니 정답이었다.
이후에 한문제를 더풀고,
https://school.programmers.co.kr/learn/courses/30/lessons/12915
이 문제에서 막혔다.
함수만 알면 금방 풀 것 같은데, 내가 사용방법을 잘 모르나보다.

s[i] = strings[i].substring(n);

이런식으로 했는데 계속 NullPointerException이 뜬다.
다른 방법을 더 찾아봐야 할 것 같다.

그래도 요즘에 한문제 두문제씩 풀리기 시작하니, 알고리즘 푸는 것이 재밌어졌다.
이 기세로 풀면 금방 밀린거 다 풀수 있을 것 같다.

0개의 댓글