반응형
츄르사려고 코딩하는 코집사입니다.
1. [SW expert Academy] SWEA 2063번 중간값 찾기 자바(Java)
2. 코드
1) 배열을 입력받고, 정렬하여 중간값을 찾아 출력하는 방법
import java.util.Arrays;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] a = new int[N+1];
for(int i=1;i<=N;i++) {
a[i] = sc.nextInt();
}
Arrays.sort(a);
System.out.println(a[(N/2)+1]);
}
}
2) CountSort를 이용하여 찾는 방법
- 배열을 0으로 초기화
- 입력값을 배열의 인덱스에 Count 1씩 증가
- mid = 중간값의 위치
- 배열에서 맨 처음부터 순서들의 count를 합하여 mid와 같거나 크면 출력
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//N값 입력
int N = sc.nextInt();
int[] arr = new int[101];
int result = 0;
//배열 0으로 초기화
for (int i = 0; i < arr.length; i++)
arr[i] = 0;
//배열에 1씩 증가
for(int i=0;i<N;i++) arr[sc.nextInt()]++;
int mid = N/2;
for(int i=0;i<arr.length;i++) {
result += arr[i];
if(result>=mid) {
System.out.println(i+1);
break;
}
}
}
}
반응형
'알고리즘 > SW expert Academy' 카테고리의 다른 글
[SW expert Academy] SWEA 2019번 더블더블 자바(Java) (0) | 2021.02.02 |
---|---|
[SW expert Academy] SWEA 1208번 Flatten 자바(Java) (0) | 2021.02.02 |
[SW expert Academy] SWEA 1928번 Base64 Decoder 자바(Java) (0) | 2021.01.29 |
[SW expert Academy] SWEA 1945번 간단한 소인수분해 자바(Java) (0) | 2021.01.29 |
[SW expert Academy] SWEA 2050번 알파벳을 숫자로 변환 자바(Java) (0) | 2021.01.29 |
[SW expert Academy] SWEA 2070번 큰 놈, 작은 놈, 같은 놈 자바(Java) (0) | 2021.01.29 |
[SW expert Academy] SWEA 2068번 최대수 구하기 자바(Java) (0) | 2021.01.29 |
[SW expert Academy] SWEA 2029번 몫과 나머지 출력하기 자바(Java) (0) | 2021.01.29 |
최근댓글