본문 바로가기

Coding Test/Step13. 정렬

[Java] 2단계. 대표값2 [2587번]

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

 

  • 예제 입력1
10
40
30
60
30
  • 예제 출력1
34
30

  • 문제 접근
    • 수의 개수는 5개로 고정
    • 시작 복잡도가 무엇이든 크게 상관 없음
  • 문제 해결
    • 입력 받은 값을 Arrays.sort() 함수를 이용하여 정렬
    • stream을 이용하여 합계 계산 후 평균 계산
    • 5개 중 중앙값이므로 index = 2번의 값 출력
  • 슈도 코드
A[5]배열 선언
for(i = 0 ~ 4){
	A 배열에 값 저장
}
A배열 정렬

avg = A배열 Stream으로 sum 계산 / 5
avg 출력
A[2] 출력
  • 코딩하기
public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int[] A = new int[5];
    for(int i = 0; i < A.length; i++){
        A[i] = scan.nextInt();
    }
    scan.close();
    Arrays.sort(A);
    int avg = Arrays.stream(A).sum() / 5;
    System.out.println(avg);
    System.out.println(A[2]);
}