ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 무한대로 코딩테스트 공부
    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
Designed by Tistory.