Algorithm/SWEA
[Java] SWEA2063 - 중간값 찾기
th42500
2021. 12. 17. 18:00
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
💡 포인트
1️⃣ 입력받을 숫자의 개수 N 입력 받기
2️⃣ 입력받는 숫자들 오름차순 정렬
3️⃣ 중간값 구하기 👉 N은 항상 홀수이며, 배열이나 리스트 모두 인덱스는 0부터 시작
1️⃣ 배열 이용
✔ 소스코드
import java.util.*;
public class Solution {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] num = new int[N];
for(int j=0;j<num.length;j++) {
num[j] = sc.nextInt();
}
Arrays.sort(num);
System.out.println(num[N/2]);
}
}
Arrays.sort()를 이용하여 배열 정렬 후, 가운데 인덱스의 값 출력 👉 인덱스는 0부터 시작하므로 전체 길이/2
2️⃣ List 이용
✔ 소스코드
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class Solution { // 2063.중간값 찾기
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
List<Integer> list = new ArrayList<>();
for (int i = 0; i < N; i++) {
list.add(sc.nextInt());
}
Collections.sort(list);
System.out.println(list.get(list.size()/2));
}
}
Collections.sort()를 이용하여 리스트 정렬 후, 가운데 인덱스의 값 출력 👉 인덱스는 0부터 시작하므로 전체 길이/2