본문 바로가기
목차훔치기/면접을 위한 CS 전공지식 노트

배열(면접을 위한 CS 전공지식 노트)

by 해삼2 2023. 10. 25.
728x90
반응형
배열

배열

배열(Array)은 컴퓨터 과학과 프로그래밍에서 중요한 자료구조 중 하나로, 

여러 개의 요소를 하나의 변수에 저장할 수 있는 데이터 구조입니다. 

배열은 데이터를 순서대로 저장하며, 각 요소는 고유한 인덱스를 가지고 있습니다.

이 인덱스를 사용하여 특정 위치에 있는 요소를 빠르게 찾을 수 있습니다.

 

배열의 특징

고정된 크기: 

배열은 생성할 때 크기가 고정되며, 나중에 크기를 변경하기 어려운 점이 있습니다. 

이것은 배열의 주요 단점 중 하나로, 크기가 동적으로 조절되는 자료구조인 리스트와 다릅니다.

인덱스: 

배열 내의 각 요소는 0부터 시작하는 고유한 인덱스를 가집니다. 

이 인덱스를 사용하여 요소를 읽거나 수정할 수 있습니다. 

인덱스를 통해 특정 위치에 있는 요소를 상수 시간(시간 복잡도 O(1))에 접근할 수 있습니다.

동일한 데이터 형식: 

배열은 동일한 데이터 형식(예: 정수, 문자열, 객체 등)을 가진 요소들로 구성되어야 합니다. 

모든 요소가 동일한 크기를 가지며 메모리에 연속적으로 저장됩니다.

메모리 효율성: 

배열은 메모리 상에서 연속적으로 저장되므로 인덱스를 통해 빠르게 접근할 수 있습니다. 

이는 메모리 효율성 면에서 장점일 수 있으나, 

크기가 고정되어 있어 동적으로 크기를 변경하기 어려울 수 있습니다.

연속적인 저장: 

배열의 요소들은 메모리 상에서 연속적으로 저장되므로 인접한 요소들은 빠르게 접근 가능합니다. 

이는 캐시 효율성 면에서 장점을 가집니다.

배열은 많은 프로그래밍 언어에서 기본적으로 제공되며, 다양한 용도로 활용됩니다. 

그러나 크기가 고정되어 있는 한계 때문에 동적 배열이나 리스트와 같은 

자료구조가 요구되는 경우도 있습니다. 

배열은 데이터를 효과적으로 관리하고 빠르게 접근할 수 있는 기본 자료구조 중 하나이며, 

프로그래밍에서 자주 사용됩니다.

 

배열 자세히 알기!!

자바(Java) 언어를 사용하여 학교 체육시간 예시를 설명해보겠습니다. 

체육시간에는 학생들을 관리하고, 체육 대회 결과를 기록하는 간단한 프로그램을 만들어 볼 것입니다. 

이 프로그램은 학생들의 이름과 기록을 저장하는 배열을 사용할 것입니다.

public class SportsDay {
    public static void main(String[] args) {
        // 학생들의 이름을 저장하는 배열
        String[] students = new String[5];
        
        // 체육 대회에서의 기록을 저장하는 배열
        int[] scores = new int[5];
        
        // 학생 정보 입력
        students[0] = "학생1";
        students[1] = "학생2";
        students[2] = "학생3";
        students[3] = "학생4";
        students[4] = "학생5";
        
        // 체육 대회 결과 입력
        scores[0] = 90;
        scores[1] = 85;
        scores[2] = 78;
        scores[3] = 92;
        scores[4] = 88;
        
        // 결과 출력
        System.out.println("체육 대회 결과:");
        for (int i = 0; i < students.length; i++) {
            System.out.println(students[i] + ": " + scores[i] + "점");
        }
    }
}

students와 scores라는 두 개의 배열을 생성합니다. 

students 배열은 학생의 이름을 저장하고, scores 배열은 체육 대회에서의 기록을 저장합니다.

학생들의 이름과 체육 대회 결과를 배열에 입력합니다.
for 반복문을 사용하여 학생들의 이름과 점수를 출력합니다.

이 코드는 Java의 배열을 사용하여 학교 체육시간과 같은 간단한 상황에서 

데이터를 저장하고 관리하는 방법을 보여줍니다. 

배열을 사용하면 여러 항목을 순서대로 저장하고 검색할 수 있으며, 

이를 통해 프로그램에서 데이터를 효과적으로 다룰 수 있습니다.

728x90
반응형