목차 배열 1-1. 배열 1-2. 배열 선언 1-3. 배열 초기화 [] 1-4. 배열 순회 for문, for of문 Array 객체 메소드 - 요소 추가/제거 2-1. push(값) 맨 뒤 요소 추가 2-2. pop() 맨 뒤 요소 제거 2-3. unshift(값) 맨 앞 요소 추가 2-4. shift() 맨 앞 요소 제거 후 반환 2-5. slice(시작 index, 끝 index) 선택 요소 잘라내기, 원본 배열에 영향X 2-6. splice(index, 제거수, 추가값1, 추가값2, ...) index 위치 요소 제거 및 추가, 원본 배열에 영향O 2-7. concat(배열명1, 배열명2, ...) 두 개 이상의 배열 결합, 원본 배열에 영향X Array 객체 메소드 - forEach() 메소드 A..
✅ 답안과 비교하여 스스로 코드 개선점 짚어보기 완료(2022.01.03) 1. 배열 HARD1. 배열의 중간까지 오름차순, 중간 이후 내림차순 적용하기 ✅ 답안에서는 중간까지의 길이를 int mid = (int)(num / 2 + 1);처럼 별도 변수에 표현했다. int cnt=0; 이라는 임의의 변수를 사용해 중간길이 미만까지는 cnt++; 그 이후는 --cnt;로 증감연산자를 활용하기도 했다. if문 안에 증가할 때 / 감소할 때 / 출력용으로 for문이 총 3개 자리한 것이다. iarr[i] = iarr.length - i; 내림차순 적용에 세운 식을 기억해두면 앞으로 활용할 일이 더 있지 않을까 싶다. 홀수인 양의 정수를 입력하세요 : 9 123454321 package com.greedy.se..
🧩 학습 단원 : 배열(Array) 📚 학습 도서 : (남궁 성 저) ✅ 배열 예제 응용 학습 완료() 응용A. char[] 배열 특징 | 배열의 깊은 복사 4가지 방법 출력문에 System.out.println(iarr);과 같이 배열의 이름을 그대로 쓰면 보통 참조하고 있는 배열의 주소가 16진수로 표현돼 나온다. 하지만 문자형 char[] 배열만은 다르다. println 메소드가 char[] 배열에 대해서만 구분자 없이 요소를 출력하도록 만들어졌기 때문이다. 단, System.out.println("배열 num : " + num);처럼 문자열을 섞어 출력할 경우 char[] 배열 역시 주소값을 내놓는다. ABCD 0123456789 char[] abc = {'A', 'B', 'C', 'D'}; ch..
🧩 학습 단원 : 배열(Array) 📚 학습 도서 : (남궁 성 저) ✅ 오답 정리 완료() [5-1] 다음은 배열을 선언하거나 초기화한 것이다. 잘못된 것을 고르고 그 이유를 설명하시오. ❎✅ a. int[] arr[]; b. int[] arr = {1,2,3,}; c. int[] arr = new int[5]; d. int[] arr = new int[5]{1,2,3,4,5}; e. int arr[5]; f. int[] arr[] = new int[3][]; b. 쉼표는 있어도 상관 없다. d. 괄호 {} 속 데이터 개수에 따라 배열 크기가 자동 결정됐기 때문에, 대괄호 안에 숫자가 이중으로 있어선 안 된다. e. 배열 선언 단계에서 크기를 지정할 수 없다! [5-2] 다음과 같은 배열이 있을 때, ..
Quiz 1. 크기가 5인 int형 배열에 for문 활용해 10~14 정수로 초기화하기 index 값이 0부터 시작하는 것을 활용해서 출력한다. package com.reminder.array_quiz; public class ArrayQuiz01 { public static void main(String[] args) { int[] arr = new int[5]; for(int i=0; i < arr.length; i++) { arr[i] = 10 + i; System.out.println(arr[i]); } } } 10 11 12 13 14 Quiz 2. 2차원 배열과 for문으로 2단~9단 구구단 출력하기 문제 조건에 따라 i, j 둘 다 0부터 시작하되 곱하는 값에서 2단부터 +2, 숫자 1부터 ..
목차 배열의 복사 1-1. 얕은 복사 1-2. 깊은 복사 1-3. 향상된 for문 배열의 정렬 2-1. 순차정렬 2-2. Arrays.sort() 사용 1. 배열 복사 1-1. 얕은 복사(shallow copy) stack 영역에서 레퍼런스 변수간에 배열 주소값 복사만 발생한 경우를 말한다. 같은 주소값을 참조하는 레퍼런스 변수가 하나 더 생겼을 뿐이다. int[] originArr = {1, 2, 3, 4, 5}; int[] copyArr = originArr; stack heap static originArr (주소값 0x123) copyArr (주소값 0x123) {1, 2, 3, 4, 5} (주소값 0x123) 레퍼런스 주소값 확인을 통해 원본과 복사본이 동일한 주소를 가지고 있음을 알 수 있다...
✅ 답안과 비교하여 스스로 코드 개선점 짚어보기 완료(2022.01.02) 1. 배열 BASIC1. ✅ 값 대입하는 for문 하나, 출력하는 for문 하나 따로 쓴다. int value라는 별도 변수를 선언하지 않고 arr[i] = i + 1; 처럼 식을 세울 수 있다. int[] iarr = new int[10]; /* 선언 및 할당 */ for(int i=0; i < iarr.length; i++) { iarr[i] = i+1; } /* 출력 */ for(int i=0; i < iarr.length; i++) { System.out.print(iarr[i] + " "); } package com.greedy.section01.array.level01.basic; public class Applicat..
목차 배열 사용 이유 배열의 저장 구조(hashCode, length) 1차원 배열 3-1. 배열 선언 3-2. 배열 할당(배열 재할당, 배열의 회수) 3-3. 배열 초기화 다차원 배열 4-1. 2차원 배열 선언 4-2. 2차원 배열 할당(정변배열, 가변배열) 4-3. 2차원 배열 초기화 배열 예제 1. 배열 사용 이유 배열(array)은 같은 자료형의 변수들을 하나의 묶음으로 다루는 것이다. 배열은 저장된 값마다 index 번호가 부여된다. 즉, 연속된 메모리 공간에 값을 저장하고 이를 불러와 사용할 수 있는 것이다. 1-1. 연속된 메모리 공간으로 관리할 수 있다. 각각의 변수는 값을 1개씩만 담을 수 있다. 사용자(개발자)가 모든 변수의 이름을 알아야만 한다. int var1 = 3; int var..