배열이란? (feat. codeup 문제풀이)

Noome_·2022년 4월 14일
0
post-thumbnail

💻 배열?

배열이란 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것이다.

--> 배열 관련 3가지 익힐 것
	 1. 배열 변수 선언 //int [] a;
     ---> a라는 박스가 생긴다
	 2. 배열 생성 // a = new int[3]; 
     --->길이가 3인 배열에  0x123같은 주소가 만들어진다
	 3. 배열의 각 요소(element)에 접근 // a[0]
	 * 배열 선언
	 * 타입[] 변수명;
	 * 타입 변수명[];
	 * int[] a = new int[3];---> 길이가 3인 배
     열의 값이 a박스에 할당된다. 
     따라서 0x123의 주소가 a와 연결된다.
	 * a라는 객체를 통해 우리는 배열에 접근할 수 
     있게된다. 
  • 배열의 선언
    배열의 선언은 원하는 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미하는 대괄호를 붙여 선언할 수 있다.
    ex)int [] arr; //배열의 선언

  • 배열의 생성
    배열을 선언한 다음에는 배열을 위한 공간을 생성해야 한다. =
    배열을 선언하는 것은 단지 생성된 배열을 다루기 위한 참조변수(주소값이 들어가 있는 변수)를 위한 공간이 만들어질 뿐, 배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어지는 것이다.
    배열을 생성하기 위해서는 연산자 'new'와 함께 배열의 타임과 길이를 지정해주어야 한다.
    ex)arr = new int[];

선언과 생성을 간략히 동시에
int [] arr= new int [] 로도 만들 수 있다.

  • 배열의 길이와 인덱스
    인덱스의 범위는 0부터 '배열길이-1'까지
    예를 들어 길이가 5인 배열은 모두 5개의 요소 (저장공간)을 가지며 인덱스의 범위는 1부터 5까지가 아닌 0,1,2,3,4이다.
    이유는 컴퓨터가 0부터 인식을 하기 때문.
  • 배열의 초기화
    int [] arr = new int []{10,20,30,40,50}//OK.
    여기서 new int[]를 생략할 수도 있다.




codeup 1403: 배열 두번 출력하기

package Practice;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		
		
		Scanner sc = new Scanner(System.in);
		int k = sc.nextInt();
		int [] arr = new int[k];
		
		
		for(int i= 0; i < arr.length; i++) {
			arr[i] = sc.nextInt();
		}
			
		
		for(int i =0; i < 2; i++) {
			for(int j = 0; j < arr.length; j++){
			System.out.println(arr[j]);
		}
		
	}

	}

}









위 코드에서 이중 반복문 부분이 아직 어렵다,,,
그래서 새로운 class를 만들어서 이중반복문을 따로 만들어보았다.

**int [] arr = new int[5];
		for(int i =0; i < 2; i++) {
			for(int j = 0; j < 3; j++){
			System.out.println("arr["+j+"] ="+arr[j]);
		}
			


그 결과 콘솔에
arr[0] =0
arr[1] =0
arr[2] =0
arr[0] =0
arr[1] =0
arr[2] =0
라는 값을 출력할 수 있었다. 
[]안에 는 0부터 3까지 j의 값(0,1,2), 
전체적인 배열의 반복 횟수는 i(0,1로 총 2)가 
결정한다고 생각하면 될 것 같다.**

국비학원에서 아직 다차원 배열에 대해 심도있게 배우지는 않았지만, 배열과 관련된 코딩문제들에 대해 아직 접근이 어려워서 기초가 매우 부족하다는 걸 깨달았다. 앞으로 매일매일 기초부터 차근차근 codeup을 통해 문제를 풀 예정이다.

profile
철수네 개발자

0개의 댓글

관련 채용 정보