-
백준 11948번 : 과목선택 (C 언어)c c++ 언어 공부 2023. 9. 15. 12:35
https://www.acmicpc.net/problem/11948
11948번: 과목선택
JOI는 물리, 화학, 생물, 지구과학, 역사, 지리 총 6 과목의 시험을 봤다. 각 시험의 만점은 100점이다. JOI는 물리, 화학, 생물, 지구과학 4과목 중에서 3 과목을 선택하고 역사, 지리 2 과목 중에
www.acmicpc.net
Code:
12345678910111213141516171819202122232425#include <stdio.h>#include <stdlib.h>int compare(const void *a, const void *b){if (*(int*)a > *(int*)b) return 1;else if (*(int*)a < *(int*)b) return -1;else return 0;}int main() {int arr1[4] = { 0, };int arr2[2] = { 0, };for (int i = 0; i < 4; i++){scanf("%d", &arr1[i]);}for (int i = 0; i < 2; i++){scanf("%d", &arr2[i]);}qsort(arr1, 4, sizeof(int), compare);qsort(arr2, 2, sizeof(int), compare);printf("%d", arr1[1] + arr1[2] + arr1[3] + arr2[1]);}cs 문제 설명:
주어진 문제는 JOI라는 학생이 6개의 과목(물리, 화학, 생물, 지구과학, 역사, 지리)의 시험을 보고, 시험 점수의 합을 최대로 만들기 위해 어떤 과목을 선택해야 하는지를 찾는 문제입니다. 각 과목의 만점은 100점으로 가정하며, JOI는 물리, 화학, 생물, 지구과학 4과목 중에서 3과목을 선택하고 역사, 지리 2과목 중에서 한 과목을 선택할 수 있습니다.
코드 설명:
- 사용자로부터 물리, 화학, 생물, 지구과학 과목의 점수를 입력받습니다.
- 사용자로부터 역사, 지리 과목의 점수를 입력받습니다.
- 배열 arr1과 arr2를 오름차순으로 정렬합니다.
- 가장 높은 점수 3과목(arr1[1], arr1[2], arr1[3])과 두 과목(arr2[0], arr2[1])을 선택하여 총 합산합니다.
- 최종 총 점수를 출력합니다.
- 프로그램을 종료합니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 11943번 : 파일 옮기기 (C 언어) (0) 2023.09.16 백준 1015번 : 수열 정렬 (C 언어) (0) 2023.09.15 백준 18429번 : 근손실 (C 언어) (0) 2023.09.14 백준 13866번 : 팀 나누기(C 언어) (0) 2023.09.14 백준 2847번 : 게임을 만든 동준이 (C 언어) (0) 2023.09.13