본문 바로가기
알고리즘

[BAEKJOON] 11948 과목선택

by mAlfred 2024. 1. 3.
반응형

문제

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행에 출력하시오.

예제 입력 1 복사

100
34
76
42
10
0

예제 출력 1 복사

228

예제 입력 2 복사

15
21
15
42
15
62

예제 출력 2 복사

140

4과목 중 3과목의 큰 합과 나머지 2과목 중 큰 값을 더한 값을 구하면 되는 문제이다.

 

그렇기에 4과목 합에서 1과목만 뺀 값들 중 제일 큰 값을 가져온 뒤 2과목 중 1과목만 계산을 하기 때문에 큰 값을 가져와서 더해주면 되는 문제였다.

 

import sys

ps = sys.stdin.readlines()

ps = list(map(int, ps))

pa = ps[:4]
pb = ps[4:]

sa = []

for i in pa:
    sa.append(sum(pa) - i)

print(max(sa) + max(pb))
반응형