Array

Yuno·2024년 6월 22일

Array(배열) 이란?

배열은 같은 타입의 여러 값을 하나의 변수에 저장할 수 있는 자료구조.
배열은 고정된 크기를 가지며, 한번 생성되면 크기를 변경할 수 없음

Array 선언 및 초기화

배열을 선언하려면 배열의 타입과 배열의 이름을 지정.
정수형 배열을 선언하는 예제)

int[] numbers;

또는

int numbers[];

두 방법 모두 유효하지만 일반적으로는 int[] numbers; 를 사용

Array 생성

배열을 생성하려면 new 키워드를 사용. 배열의 크기를 지정하여 배열 생성 가능

numbers = new int[5]

위 코드는 5개의 정수를 저장할 수 있는 배열 생성

Array 선언과 동시에 초기화

배열을 선언과 동시에 초기화 가능

int[] numbers = new int[5]

또는 초기값을 지정하면서 배열 선언 가능

int[] numbers = {1, 2, 3, 4, 5};

Array 사용

배열 요소에 접근하려면 인덱스를 사용. 배열의 인덱스는 0부터 시작

numbers[0] = 10;
int value = numbers[1];

첫번째 요소에 값 10 할당, 두번째 요소 값을 변수에 저장

배열 요소를 반복문으로 순회하기

for (int i = 0; i < numbers.length; i++)

Array 의 시간복잡도

배열의 시간복잡도는 다양한 연산에 따라 다름. 각 연산의 시간 복잡도를 이해하면, 배열을 사용 할 때 성능에 미치는 영향 예측 가능.

Array의 기본 연산과 시간 복잡도

  1. 접근(Access)
    -특정 인덱스에 있는 요소에 접근하는 연산
    -시간복잡도 O(1)
    -배열은 인덱스를 통해 직접 접근할 수 있으므로, 요소를 찾는데 걸리는 시간은 상수 시간

  2. 검색(Search)
    -배열에서 특정 값을 찾는 연산
    -시간복잡도 O(n)
    -최악의 경우 배열의 모든 요소를 확인해야 하므로, 요소의 갯수(n)에 비례하여 시간이 걸림

  3. 삽입(Insertion)
    -배열의 특정 위치에 새로운 요소를 추가하는 연산
    -시간복잡도 O(n)
    -배열의 특정 위치에 요소를 삽입하려면, 그 위치 이후의 모든 요소를 한칸씩 이동시켜야 함

  4. 삭제 (Deletion)
    -배열의 특정 위치에 있는 요소를 삭제하는 연산
    -시간복잡도 O(n)
    -배열의 특정 위치에 있는 요소를 삭제하려면, 그 위치 이후의 모든 요소를 한칸씩 당겨야 함

BAEKJOON

10818번 최소, 최대 문제풀이



import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        if (N < 1 || N > 1_000_000) {
            return;
        }

        int min = Integer.MAX_VALUE;
        int max = Integer.MIN_VALUE;

        for (int i = 0; i < N; i++) {
            int num = sc.nextInt();
            if (num < -1_000_000 || num > 1_000_000) {
                return;
            }

            if (num < min) {
                min = num;
            }
            if (num > max) {
                max = num;
            }
        }
        System.out.println(min + " " + max);
    }
}
profile
Hello World

0개의 댓글