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 |
Tags
- Binary Search
- two pointers
- simulation
- Data Structure
- Counting
- Matrix
- hash table
- greedy
- Method
- bit manipulation
- 파이썬
- sorting
- dynamic programming
- geometry
- Class
- 자바
- 구현
- 코딩테스트
- Number Theory
- database
- Stack
- array
- implement
- Tree
- Binary Tree
- SQL
- java
- 코테
- Math
- string
Archives
- Today
- Total
코린이의 소소한 공부노트
배열 (3) 활용 예시 본문
배열은 같은 타입의 변수가 여러 개 붙어있는 형태이기 때문에, 반복문을 쓰기에 아주 좋다.
1. 평균 구하기
// 1) 필요한 변수 생성
int sum = 0; // 총합
float average = 0f; // 평균
// 2) 평균을 구할 점수들을 int배열에 입력
int[] score = {50, 80, 75, 100, 90, 60};
// 3) 점수들을 모두 합해 sum에 저장
for ( int i=0; i<score.length ; i++ )
sum += score[i];
// 4) 평균을 계산
average = sum / (float)score.length;
// 계산결과를 float로 얻기 위해서 형변환
// average = (float)sum / score.length; // 같은 결과가 나옴
// 5) 결과 확인
System.out.println("총합=" + sum + ", 평균=" + average); // 총합=455, 평균=75.833336
2. 최댓값 / 최솟값 구하기
// 1) 배열 생성
int[] num = {6, 49, 23, 1, 93, 57, 20};
// 2) 배열의 0번 값으로 최댓값, 최솟값 초기화하기
int max = num[0];
int min = num[0];
// 3) 비교하면서 최댓값 / 최솟값 찾기
for( int i=1; i<num.length ; i++) { // 0번이 max, min에 저장되어있으니 1번부터 비교 시작
if(num[i] > max) // max에 저장된 값보다 크면
max = num[i]; // max값 갱신
else if(num[i] < min) // min에 저장된 값보다 작으면
min = num[i]; // min값 갱신
}
// 4) 결과 확인
System.out.println("최댓값=" + max + ", 최솟값=" + min); // 최댓값=93, 최솟값=1
3. 배열 내부 값 섞기
// 1) 배열 생성
int[] num = {0,1,2,3,4,4,5,6,7,8,9};
// 섞인 것을 확인하기 편하게 하기 위해
// 오름차순으로 정리된 값 사용하겠음
// 2) 100번 섞기
for ( int i=0 ; i<100 ; i++ ) {
int n = (int)(Math.random() * 10); // 0~9 중의 하나 랜덤 추출
int tmp = num[0]; // 0번째 요소 -> tmp에 저장
num[0] = num[n]; // n번째 요소 -> 0번째에 저장
num[n] = tmp; // tmp의 값 -> n번째에 저장
}
// 3) 섞은 결과 확인해보기
System.out.println(Arrays.toString(num)); // [4, 1, 5, 8, 4, 2, 0, 6, 3, 7, 9]
0번만 바꾸는 게 이상하다면, 아래 그림을 보면 이해가 빨리 될 것이다.
'Java' 카테고리의 다른 글
String 클래스 (0) | 2022.02.06 |
---|---|
배열 (4) 2차원 배열 (0) | 2022.01.24 |
배열 (2) 초기화, 출력 (0) | 2022.01.19 |
배열 (1) 선언과 생성, 인덱스 (0) | 2022.01.14 |
제어문 (2) 반복문 - while, do-while (0) | 2022.01.08 |