728x90
1차원 배열에 관련된 문제입니다.
잘 생각하시면 어렵지 않은 문제입니다.
제일 기본적인 방법으로 풀어보도록 하겠습니다.
먼저 배열의 모든 원소를 입력받아 저장하고 arrays.sort() 로 정렬합니다(오름차순 순으로 정렬이 됩니다.)
그렇다면 배열의 마지막길이는 배열에 가장 큰 값이라는것을 알수있습니다.
또한 주의해야할 점은 연산할때 반드시 초소한자료형1개이상은 double형으로 써야합니다. 그러면 자동형변환이 되면서 자료형이 큰 쪽으로 (int에서 double)변환이 되기 때문입니다.
여기서는 sum을 double형으로 해주었습니다.
Scanner sc = new SCanner(System.in);
int a = sc.nextInt();
double num[] = new double[a];//배열의 길이를 정해줄수 있습니다.
for( int i = 0; i<num.length; i++){
num[i]=sc.nextInt(); //num[i]에 어떤 값을이 들어갈지 적어줄수 있는 구문입니다.
}
double sum =0;
Arrays.sort(num); //arrays.sort는 숫자의 크기대로 정렬을 해줍니다.
for(int i =0; i<num.length; i++){
sum+= ((num[i]/num[num.length-1]) *100); //sum 에 축적될 값을 구해주는 구문입니다.
}
System.out.printLn(sum/num.length);
}
}
728x90
'문제풀이 > 백준' 카테고리의 다른 글
백준 4344 평균은 넘겠지? (0) | 2022.03.17 |
---|---|
8958번 백준 자바 문제 풀이 (0) | 2022.03.14 |
백준 10818 최대 최소 값 구하기 (0) | 2022.01.28 |
백준 2884 번 자바 문제 풀이- 알람 시계 (0) | 2022.01.27 |
정수 배열 최대값 (0) | 2022.01.11 |