중위수 구하기
Main.java
package pack_Median;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = {0, 9, 6, 5, 4, 3, 2, 1}; //짝수
System.out.println("짝수");
// sort
// 1. 배열을 오름차순으로 정렬한다.
Arrays.sort(arr); // 퀵정렬을 사용한 오름차순 정렬적용
System.out.println("퀵정렬을 사용한 오름차순 정렬적용 : "+ Arrays.toString(arr));
// 2. 배열의 개수를 구한다.
int cnt = arr.length; // 배열의 개수
System.out.println("배열의 개수(cnt) : " + cnt);
int i = cnt / 2; // 전체 배열의 개수를 반으로 나눔
System.out.println("전체 배열의 개수를 반으로 나눔 (i) : " + i);
if (cnt % 2 == 1) { // 배열의 개수 : 홀수
// 홀수개일때는 정수형으로 나눗셈을 실행한 결과가 중위수의 인덱스 번호
System.out.println("중위수(홀수 개수) : " + arr[i]);
} else { // 배열의 개수 : 짝수
// 짝수개일때는 정수형으로 나눗셈을 실행한 결과와
//직전 인덱스 숫자의 평균이 중위수
double avg = (arr[i-1] + arr[i]) / 2.0;
System.out.println("중위수(짝수 개수) : " + avg);
}
}
}
결과
짝수
퀵정렬을 사용한 오름차순 정렬적용 : [0, 1, 2, 3, 4, 5, 6, 9]
배열의 개수(cnt) : 8
전체 배열의 개수를 반으로 나눔 (i) : 4
중위수(짝수 개수) : 3.5
Main.java
package pack_Median;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = {9, 6, 5, 4, 3, 2, 1}; //홀수
System.out.println("홀수");
// sort
// 1. 배열을 오름차순으로 정렬한다.
Arrays.sort(arr); // 퀵정렬을 사용한 오름차순 정렬적용
System.out.println("퀵정렬을 사용한 오름차순 정렬적용 : "+ Arrays.toString(arr));
// 2. 배열의 개수를 구한다.
int cnt = arr.length; // 배열의 개수
System.out.println("배열의 개수(cnt) : " + cnt);
int i = cnt / 2; // 전체 배열의 개수를 반으로 나눔
System.out.println("전체 배열의 개수를 반으로 나눔 (i) : " + i);
if (cnt % 2 == 1) { // 배열의 개수 : 홀수
// 홀수개일때는 정수형으로 나눗셈을 실행한 결과가 중위수의 인덱스 번호
System.out.println("중위수(홀수 개수) : " + arr[i]);
} else { // 배열의 개수 : 짝수
// 짝수개일때는 정수형으로 나눗셈을 실행한 결과와
//직전 인덱스 숫자의 평균이 중위수
double avg = (arr[i-1] + arr[i]) / 2.0;
System.out.println("중위수(짝수 개수) : " + avg);
}
}
}
결과
홀수
퀵정렬을 사용한 오름차순 정렬적용 : [1, 2, 3, 4, 5, 6, 9]
배열의 개수(cnt) : 7
전체 배열의 개수를 반으로 나눔 (i) : 3
중위수(홀수 개수) : 4
Leave a comment