
[Bronze IV] 과목선택 - 11948
성능 요약
메모리: 17596 KB, 시간: 204 ms
분류
사칙연산(arithmetic), 구현(implementation), 수학(math)
문제 설명
JOI는 물리, 화학, 생물, 지구과학, 역사, 지리 총 6 과목의 시험을 봤다. 각 시험의 만점은 100점이다.
JOI는 물리, 화학, 생물, 지구과학 4과목 중에서 3 과목을 선택하고 역사, 지리 2 과목 중에서 한 과목을 선택한다.
시험 점수의 합이 가장 높게 나오도록 과목을 선택할 때, JOI가 선택한 과목의 시험 점수의 합을 구하시오.
입력
입력은 6행으로 되어있으며, 각 행에 1개의 정수가 주어진다.
1행에는 JOI의 물리 시험의 점수 A가 주어진다.
2행에는 JOI의 화학 시험의 점수 B가 주어진다.
3행에는 JOI의 생물 시험의 점수 C가 주어진다.
4행에는 JOI의 지구과학의 시험 점수 D가 주어진다.
5행에는 JOI의 역사 시험의 점수 E가 주어진다.
6행에는 JOI의 지리 시험의 점수 F가 주어진다.
입력한 정수 A, B, C, D, E, F는 모두 0이상 100이하이다.
출력
JOI가 선택한 과목의 총 점수를 1행에 출력하시오.
답 : 입력받은 과목의 점수를 저장하고
4중 3 2중 1 과목을 구해주고 더한다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] scores = new int[6];
// 입력받은 6개의 과목의 점수를 scores 배열에 저장
for (int i = 0; i < 6; i++) {
scores[i] = sc.nextInt();
}
// 물리, 화학, 생물, 지구과학 중 3과목 선택
int scienceSum = 0;
for (int i = 0; i < 4; i++) {
for (int j = i + 1; j < 4; j++) {
for (int k = j + 1; k < 4; k++) {
int sum = scores[i] + scores[j] + scores[k];
scienceSum = Math.max(scienceSum, sum);
}
}
}
// 역사, 지리 중 1과목 선택
int socialSum = Math.max(scores[4], scores[5]);
// 두 합계를 더해서 출력
int totalSum = scienceSum + socialSum;
System.out.println(totalSum);
sc.close();
}
}'algorithm > 백준' 카테고리의 다른 글
| [백준] 연세대학교 - 15680 Java[자바] (0) | 2023.03.11 |
|---|---|
| [백준] 폰 노이만과 파리 - 14924 Java[자바] (0) | 2023.03.10 |
| [백준] 전자레인지 - 14470 Java[자바] (0) | 2023.03.10 |
| [백준] 13866 - 팀 나누기 Java[자바] (0) | 2023.03.09 |
| [백준] 방학 숙제 - 5532 Java[자바] (0) | 2023.03.08 |