-
무한대로 코딩테스트 공부TIL 2022. 9. 25. 11:44
오늘은 일요일이고 쉬는날이지만 남들보다 뒤쳐져서 오늘도 공부를 시작한다.
문제1. 솔루션이 arr[]를 제출하는데, 정상적으로 작동할경우는 해당하는 배열을 제출하고, 조건에 맞지 않을경우 [-10] 을 제출하게 만드는 문제.
arr는 한번 선언하면 길이를 바꿀 수 없는데 어떻게 할까 고민하다가 2차원 배열을 떠올리게 되었다.
가변 배열(dynamic array)
자바에서는 2차원 배열을 생성할 때 열의 길이를 명시하지 않음으로써, 행마다 다른 길이의 배열을 요소로 저장할 수 있습니다.
이렇게 행마다 다른 길이의 배열을 저장할 수 있는 배열을 가변 배열(dynamic array)이라고 합니다.
예제int[][] arr = new int[3][];
arr[0] = new int[2];
arr[1] = new int[4];
arr[2] = new int[1];
이것을 활용하면 풀 수 있을듯 하다.
하지만 2차배열을 1차배열로 리턴시키는방법을 찾지못해 이 아이디어는 폐기되었다
예를들면
int[][] arr= new int[2][];
int[0] =new int[receivedIntArray.length] //받은 어레이의 길이만큼 선언
int[1]= new int [1] // -10만 저장할거기 때문에 1개만 선언
int[0][1] = ~~; // 받은 1차 int array를 2차 배열에 선언하는 과정
.
.
.
if(Err=True){
errNum = 0;
}
else{
errNum = 1;
}
return arr[errNum];
== 왜안될까~~
'TIL' 카테고리의 다른 글
이 오류는 ?ArrayIndexOutOfBoundsException (1) 2022.09.25 일요일도 코딩테스트 연마 (0) 2022.09.25 코딩테스트 공부하기 @.@ (0) 2022.09.25 코딩테스트 공부하기 (1) 2022.09.24 알고리즘 공부~~ (0) 2022.09.24