Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- dfs
- Stack
- 카카오블라인드코딩테스트
- 달빛클럽 1기
- 리액트
- 알고리즘
- 재귀
- 백준
- React
- 노마드코더
- Java
- 달빛클럽
- SoftwareExpertAcademy
- Algorithm
- 달빛클럽1기
- programmers
- ReactJS로 영화 웹 서비스 만들기
- BOJ
- 완전탐색
- 자바
- React.js
- SWEA
- 프로그래머스
- 경제공부
- HashMap
- JPA
- 인플레이션에서 살아남기
- 달빛캠퍼스
- Array
- 노마드코더 강의
Archives
- Today
- Total
th42500의 TIL
배열(Array) 본문
배열(Array)
배열이란?
👉 일정한 자료형의 변수들을 하나의 이름으로 열거하여 사용하는 자료구조
배열의 필요성
👉 프로그램 내에서 여러 개의 변수가 필요할 때, 한번의 선언만으로 둘 이상의 변수를 선언할 수 있음
배열의 선언과 접근
1) 배열의 선언
자료형 이름[] = new 자료형[길이];
int arr[] = new int[10];
2) 배열의 접근
배열명[인덱스번호] = 값;
arr[0] = 20;
배열 순회
👉 ex) 2*n 배열 순회하는 방법
for(int i=0; i< arr.length(); i++) {
for(int j=0; j<arr[i].length(); j++) {
arr[i]; // 필요한 연산 수행하기
}
}
배열의 Shift
Shift 작업은 1차원 배열보다 2차원 배열을 시계방향 또는 반시계방향으로 회전시키는 문제에서 많이 활용
1️⃣ 배열 원소 오른쪽 Shift
package Array;
import java.util.Arrays;
public class ShiftTest {
public static void main(String[] args) {
int[] arr = new int[]{1, 2, 3, 4, 5};
System.out.println(Arrays.toString(arr));
rightShift(arr);
System.out.println(Arrays.toString(arr));
}
private static void rightShift(int[] arr) {
int temp = arr[arr.length-1]; // 마지막 원소 저장해두기
for (int i = arr.length-1; i > 0; i--) {
arr[i] = arr[i-1];
}
arr[0] = temp; // 저장해두었던 원소 다시 채우기
}
}
2️⃣ 배열 원소 왼쪽 Shift
package Array;
import java.util.Arrays;
public class ShiftTest {
public static void main(String[] args) {
int[] arr = new int[]{1, 2, 3, 4, 5};
System.out.println(Arrays.toString(arr));
leftShift(arr);
System.out.println(Arrays.toString(arr));
}
private static void leftShift(int[] arr) {
int temp = arr[0];
for (int i = 0; i < arr.length; i++) {
arr[i] = arr[i+1];
}
arr[arr.length-1] = temp;
}
}
더보기
❓ rightShift()와 leftShift() 함수에 return이 없는 이유??
❗ rightShift()와 leftShift()에서 arr의 내용이 수정이 된다고 생각할 수 있다.
그러나, 매개변수로 정수형 배열 arr이 넘어갈 때, 배열 자체가 매개변수로 전달되는 것이 아닌 참조값이 넘어가는 것이므로 수정된 배열을 다시 return 해줄 필요가 없음
'Algorithm > Concept' 카테고리의 다른 글
조합 (Combination) (0) | 2022.03.14 |
---|---|
BFS (Breadth-First Search) (0) | 2021.12.25 |
DFS (Depth-First Search) (0) | 2021.12.22 |
그리디 알고리즘 (0) | 2021.12.20 |
순열(Permutation)과 조합(Combination)은 어떻게 구분할까? (0) | 2021.12.16 |
Comments