CodingTest_Day1_Array

Kang Junhyeok·2025년 1월 2일

취업준비

목록 보기
2/2

이번 주제는 Array 배열입니다. 우리는 이미 잘 알고 있기에 복습한다고 생각하시면 좋을 것 같습니다.


Array(배열)의 기본 개념

배열이란?

"동일한 타입의 데이터를 연속된 메모리 공간에 저장하는 자료구조" 라고 정의할 수 있습니다.

배열의 장점과 단점

장점 : 빠른 접근 속도 (O(1)로 인덱스 접근이 가능합니다.)
단점 : 크기가 고정되어 있으며, 삽입 or 삭제 시 성능이 저하됩니다.


Array(배열)의 연산

배열 생성 및 초기화

int[] arr = new int[5]; // 크기가 5인 배열 생성
int[] arr2 = {1, 2, 3, 4, 5}; // 초기화된 배열

요소 접근 및 수정

arr[0] = 10; // 배열 첫 번째 요소를 10으로 수정
System.out.println(arr[0]); // 출력: 10

다차원 배열

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
System.out.println(matrix[0][1]); // 출력: 2

가변 배열 (Jagged Array)

int[][] jagged = new int[3][];
jagged[0] = new int[2]; // 첫 번째 행의 길이: 2
jagged[1] = new int[3]; // 두 번째 행의 길이: 3
jagged[2] = new int[1]; // 세 번째 행의 길이: 1

Array(배열)의 알고리즘적 활용

정렬(오름차순/내림차순)

Arrays.sort(arr); // 오름차순 정렬
Arrays.sort(arr, Collections.reverseOrder()); // 내림차순 정렬 (Integer[] 필요)

탐색(Linear Search, Binary Search, 최대값/최소값 찾기)

//선형 탐색(Linear Search)
int key = 3;
for (int i = 0; i < arr.length; i++) {
    if (arr[i] == key) {
        System.out.println("Found at index: " + i);
    }
}
//이진 탐색 (Binary Search)
int index = Arrays.binarySearch(arr, key); // 정렬된 배열에 사용
System.out.println("Index: " + index);
//최대값 찾기, 최소값은 if문만 변경해서 작성하면 됨.
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
    if (arr[i] > max) max = arr[i];
}
System.out.println("Max: " + max);

Array와 ArrayList의 차이

  • 배열은 크기가 고정되지만, ArrayList는 동적으로 크기가 변경됩니다.
  • 배열은 기본 자료형을 저장할 수 있지만, ArrayList는 객체만 저장 가능합니다.

빠르고 간단하게 Array에 대해서 review 해봤습니다. 오늘도 error / issue 없는 하루 되시길 바랍니다. 감사합니다 :)

0개의 댓글