Array (๋ฐฐ์ด)์ ๊ฐ์ ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ๊ฐ ๋์ดํ ์ ํ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
์ฐ์์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
โ๏ธ Array์ ์๊ฐ ๋ณต์ก๋
- ์ธ๋ฑ์ค๋ฅผ ์๊ณ ์๋ ๊ฒฝ์ฐ ์์์ ์ ๊ทผํ๋ ์๊ฐ ๋ณต์ก๋ : O(1)
ใด ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํ์ฌ ์ํ๋ ์์น์ ๋น ๋ฅด๊ฒ ์ ๊ทผ ๊ฐ๋ฅํ๋ค. - ์ฝ์
์ญ์ ์์ ์๊ฐ ๋ณต์ก๋ : O(n)
ใด ์ฝ์ , ์ญ์ ์ ํด๋น ์์น ์ดํ์ ๋ชจ๋ ์์๋ค์ ์ด๋์์ผ์ผํ๋ฏ๋ก ์ฑ๋ฅ์ด ์ข์ง ์๋ค.
โ๏ธ Array์ ์ฅ์
- ๊ตฌํ์ด ์ฝ๋ค.
- ์ธ๋ฑ์ค๋ฅผ ํตํด ์ ๊ทผํ๋ฏ๋ก ์ ๊ทผ(๊ฒ์)์ด ๋น ๋ฅด๋ค.
- ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅํ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค.
- ๋ํ ์์๋๋ก ์ ์ฅ๋๋ฏ๋ก ์ธ์ ํ ์์๋ค์ ๋ํ ์บ์ ์ง์ญ์ฑ์ด ์ข์ ์ฑ๋ฅ ํฅ์์ ๋์์ ์ค ์ ์๋ค.
- ์ฐธ์กฐ๋ฅผ ์ํ ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ์ง ์๋ค.
- ๋ค์ฐจ์์ผ๋ก ๊ตฌํ๊ฐ๋ฅํ๋ค. (ํ๋ ฌ๊ณผ ๊ฐ์ ๊ฒ์ ํํํ ๋ ์ ์ฉํ๋ค)
โ๏ธ Array์ ๋จ์
- ๋ฐฐ์ด์ ํฌ๊ธฐ๋ ์ ์ธ์ ๊ณ ์ ๋๋ฏ๋ก ์๋ก์ด ํฌ๊ธฐ์ ๋ฐฐ์ด์ ์ํ ๋๋ ๋ค์ ์ ์ธ ํ ์ฎ๊ฒจ์ผ ํ๋ค.
- ๋ํ ๊ฐ์ ์ด์ ๋ก ์ฌ์ฉํ์ง ์๋ ๊ณต๊ฐ๋ ๋ฐฐ์ด ์ ์ธ์ ํ ๋น๋๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ๋ญ๋น๊ฐ ์๊ธธ ์ ์๋ค.
- ์ฝ์ , ์ญ์ ์ ๋ชจ๋ ์์๋ค์ ํ ์นธ์ฉ ์ฎ๊ฒจ์ผํ๋ฏ๋ก ํจ์จ์ ์ด์ง ์๋ค. (์๊ฐ๋ณต์ก๋ O(n))
โ๏ธ ๋ฒ์ธ) Array ์ ์ธ์ ํ ์นธ์ ํ ๋น๋๋ ์๋ฃํ์ ํฌ๊ธฐ (๋ํ์ ์ธ ๊ฒ๋ง, ์ด์ธ์๋ ๋ง์ ์๋ฃํ์ด ์์)
- int : 4byte
- boolean : 1byte
- char : 1byte
- float : 4byte
- double : 8byte
โ๏ธ Array ๊ด๋ จ ๋ฌธ์ ๋ค
- ๋ฐฑ์ค 10818๋ฒ : ์ต์, ์ต๋ (์์๋๋ก ๋ฐฐ์ด์ ์ด์ฉํ ๋ฒ์ , Array.sort()๋ฅผ ์ด์ฉํ ๋ฒ์ )
package baekjoon.dataStructure.array;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Num10818 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int[] arr = new int[n];
for(int i=0; i<n; i++){
arr[i] = Integer.parseInt(st.nextToken());
}
int min = 1000000;
int max = -1000000;
for(int i=0; i<n; i++){
if(arr[i] < min){
min = arr[i];
}
if(arr[i] > max){
max = arr[i];
}
}
System.out.println(min + " " + max);
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.Arrays;
public class Num10818 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int[] arr = new int[n];
for(int i=0; i<n; i++){
arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
System.out.println(arr[0] + " " + arr[n-1]);
}
}
- ํ๋ก๊ทธ๋๋จธ์ค : ๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr, int divisor) {
int count = 0;
for(int i=0; i<arr.length; i++){
if(arr[i] % divisor != 0){
arr[i] = -1;
}else{
count++;
}
}
if(count == 0){
int[] result = {-1};
return result;
}
int[] answer = new int[count];
Arrays.sort(arr);
for(int i=0; i<count; i++){
answer[i] = arr[arr.length-count+i];
}
return answer;
}
}
'์๊ณ ๋ฆฌ์ฆ > ์๋ฃ๊ตฌ์กฐ ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Linked List - ์๋ฃ๊ตฌ์กฐ (0) | 2024.06.21 |
---|---|
HashMap - ์๋ฃ๊ตฌ์กฐ (0) | 2024.06.20 |
Queue - ์ ํ ์๋ฃ๊ตฌ์กฐ (0) | 2024.06.18 |
Stack - (์ ํ)์๋ฃ๊ตฌ์กฐ (0) | 2024.06.18 |
์ ํ์๋ฃ๊ตฌ์กฐ - ๋ฐํฌ (0) | 2023.08.05 |