문제 설명
코이 초등학교에 새로 부임하신 교장선생님은 어린 학생들의 행복감과 학생들의 성적 차이 관계를
알아보기로 했다.
그래서 이전 성적을 조사하여 학생들의 시험 점수 차이 변화를 알아보려고 한다.
예를 들어서
2016년 학생 88 명의 점수가 다음과 같다고 하자.
27,35,92,75,42,53,29,87
그러면 가장 높은 점수는 92점이고 가장 낮은 점수는 27점이므로 점수의 최대 차이는 65이다.
한편 2017년 학생 88명의 점수가 다음과 같았다.
85,42,79,95,37,11,72,32
이때 가장 높은 점수는 95점이고 가장 낮은 점수는 11점이므로 점수의 최대 차이는 84이다.
N명 학생들의 점수가 주어졌을 때, 가장 높은 점수와 가장 낮은 점수의 차이를 구하는 프로그램을 작성하시오.
package test01;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class code4891 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 학생 수 입력
System.out.print("학생 수 입력 : ");
int n = sc.nextInt();
// 학생 점수를 저장할 List 생성
List<Integer> score = new ArrayList<Integer>();
// 반복문을 돌려 점수를 입력받는다
if(2<=n && n<=1000) {
// 학생 수 만큼 반복
for(int i=0; i<n; i++) {
System.out.println("학생 점수 입력 :");
score.add(sc.nextInt());
}
}
// 최대 점수
int max = score.get(0);
// 최소 점수
int min = score.get(0);
// list 길이만큼 반복
for(int i=0; i<score.size();i++) {
// 만약 max값보다 크다면
if(max < score.get(i)) {
// max값 저장
max = score.get(i);
}
// 만약 min값보다 작다면
if(score.get(i) < min) {
// min값 저장
min = score.get(i);
}
}
// 점수 차이 결과
System.out.println(max - min);
}
}
'코딩테스트' 카테고리의 다른 글
[Programmers] 중복된 숫자 개수 (java,python) (0) | 2024.11.24 |
---|---|
[Programmers] 배열의 평균값 (java,python) (0) | 2024.11.24 |
[Programmers] 369게임 (java,python) (0) | 2024.11.23 |
[CodeUp] 3117 : 0은 빼! (0) | 2024.11.19 |