이건 문자열을 일정 길이로 자르는 문제였다. 처음엔 substring으로 자르면 되겠지 싶어서 바로 코드를 짰는데, 마지막 부분이 길이 n보다 짧을 때 처리를 안 해서 테스트 케이스 몇 개가 실패했다. 처음엔 그냥 substring(i, i+n)만 썼는데, 문자열 끝부분에서 인덱스 초과 에러가 나버림.. 그래서 조건문으로 나눠서 처리했다.

for(int i = 0; i < my_str.length(); i += n){
    if(i + n < my_str.length()){
        list.add(my_str.substring(i, i + n));
    } else {
        list.add(my_str.substring(i));
    }
}

이렇게 풀었는데, ArrayList에 넣고 나중에 배열로 변환하는 게 좀 번거로웠다.. 사실 String의 split( )이나 다른 방법을 썼으면 더 간단했을까 하는 생각이 들었다. 그리고 toArray(new String[0]) 이 부분도 처음엔 헷갈렸는데, 배열 크기를 0으로 주는 게 내부적으로 최적화된다는 걸 알게 됐다. 다음엔 문자열 자를 때 경계 조건을 처음부터 꼼꼼히 체크해야겠다..ㅎ 그래도 substring( ) 다루는 데 좀 더 익숙해진 것 같아 뿌듯ㅎㅎ