SWEA 1984 : 중간 평균값 구하기
SWEA 1984 : 중간 평균값 구하기
10개의 수를 입력 받아, 최대 수와 최소 수를 제외한 나머지의 평균값을 출력하는 프로그램을 작성하라.
(소수점 첫째 자리에서 반올림한 정수를 출력한다.)
각 수는 0 이상 10000 이하의 정수이다.
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 10개의 수가 주어진다.
출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
처음 생각했을 때, 생각했던 로직은 다음과 같다
(1) 정수를 배열로 받는다.
(2) 조건문을 이용해서
(3) 맥스값 프린트
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt(); // 테스트 케이스 수
for (int t = 1; t <= T; t++) {
int max = 0;
for (int i = 0; i < 10; i++) {
int num = sc.nextInt();
if (num > max) {
max = num;
}
}
System.out.println("#" + t + " " + max);
}
sc.close();
}
}
max 함수 활용
if (num > max) {
max = num;
}
이 과정을 기반으로 Math 함수인 max를 이용해서 작성할 수 있다.
개선 코드
package test;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt(); // 테스트 케이스 수
for (int t = 1; t <= T; t++) {
int max = 0;
for (int i = 0; i < 10; i++) {
int num = sc.nextInt();
max = Math.max(max, num);
}
System.out.println("#" + t + " " + max);
}
sc.close();
}
}
※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.
해당 문제는 개인 학습을 위한 비상업적 용도로 사용한 글입니다.