❓문제
https://www.acmicpc.net/problem/2587
🔅해석
평균과 중앙값의 개념을 알고 있고 배열을 정렬만 할 수 있다면 쉬운 문제이다.
Arrays.sort()로 int 배열을 인자로 전달하면 오름차순으로 정렬된다.
int[] num = new int[5];
Arrays.sort(num);
또한, 람다식으로 정렬이 가능하다.
람다식을 사용할 때는 ArrayList에 자연수를 담아야한다.
ArrayList<Integer> num = new ArrayList<Integer>();
num.sort((o1, o2)-> o1-o2);
⭕정답 코드
배열
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] num = new int[5];
int sum =0;
for (int i=0; i<num.length; i++) {
num[i] = Integer.parseInt(br.readLine());
sum += num[i];
}
Arrays.sort(num);
System.out.println(sum / num.length);
System.out.println(num[num.length / 2]);
}
}
람다식
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int len = 5;
ArrayList<Integer> num = new ArrayList<Integer>();
int sum=0;
for (int i=0; i<len; i++) {
num.add(Integer.parseInt(br.readLine()));
sum += num.get(i);
}
num.sort((o1, o2)-> o1-o2);
System.out.println(sum / len);
System.out.println(num.get(len/2));
}
}
❗결과
1번 배열 사용, 2번 람다식 사용
'코딩테스트 > 백준' 카테고리의 다른 글
[코테] 백준 2798번 : 블랙잭 (java) (0) | 2023.11.22 |
---|---|
[코테] 백준 10250번 : ACM 호텔 (java) (0) | 2023.10.29 |
[코테] 백준 25206번 : 너의 평점은 (java) (0) | 2023.10.28 |
[코테] 백준 29813번 : 최애의 팀원 (java) (0) | 2023.09.24 |
[코테] 백준 29812번 : 아니 이게 왜 안 돼 (java) (0) | 2023.09.24 |