https://www.acmicpc.net/problem/2587

 

2587번: 대표값2

어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 +

www.acmicpc.net


평균은 값을 받을 때마다 sum 에 넣어주고 마지막에 /5 를 하면 구해진다.

중간값은 모든 값들을 list 에 담아주고 정렬을 한 다음에 index = 2 인 값을 출력하면 된다.

 

n=5 이니 최악의 경우 O(n^2) 인 정렬 알고리즘도 상관없이 sort 하며 된다.

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;

public class Main {

	public static void main(String[] args) throws IOException{
		// TODO Auto-generated method stub
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		ArrayList<Integer> list = new ArrayList<>(5);
		
		int sum = 0;
		
		for(int i=0; i<5; i++)
		{
			int num = Integer.parseInt(br.readLine());
			sum += num;
			list.add(num);
		}
		
		Collections.sort(list);
		
		System.out.println(sum / 5);
        // print item indexing 2
		System.out.println(list.get(2));
		
	}
}

  • 느낀 점

n 이 작아서 시간 복잡도를 생각하지 않고 정렬을 할 수 있었다