Notice
Recent Posts
Recent Comments
Link
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

코딩로그

[백준/BOJ/C++] 2822번 점수 계산 본문

YJ/C++

[백준/BOJ/C++] 2822번 점수 계산

Team DAON 2021. 10. 13. 16:23

[문제]

상근이는 퀴즈쇼의 PD이다. 이 퀴즈쇼의 참가자는 총 8개 문제를 푼다. 참가자는 각 문제를 풀고, 그 문제를 풀었을 때 얻는 점수는 문제를 풀기 시작한 시간부터 경과한 시간과 난이도로 결정한다. 문제를 풀지 못한 경우에는 0점을 받는다. 참가자의 총 점수는 가장 높은 점수 5개의 합이다.

상근이는 잠시 여자친구와 전화 통화를 하느라 참가자의 점수를 계산하지 않고 있었다. 참가자의 8개 문제 점수가 주어졌을 때, 총 점수를 구하는 프로그램을 작성하시오.

 

[입력]

8개 줄에 걸쳐서 각 문제에 대한 참가자의 점수가 주어진다. 점수는 0보다 크거나 같고, 150보다 작거나 같다. 모든 문제에 대한 점수는 서로 다르다. 입력으로 주어지는 순서대로 1번 문제, 2번 문제, ... 8번 문제이다.

 

[출력]

첫째 줄에 참가자의 총점을 출력한다. 둘째 줄에는 어떤 문제가 최종 점수에 포함되는지를 공백으로 구분하여 출력한다. 출력은 문제 번호가 증가하는 순서이어야 한다.

 

[Source Code]

#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;

int main() {
	int score[8];
	int temp[8];
	int sum = 0;
	for(int i = 0; i < 8; i++){
		int input;
		cin >> input;
		score[i] = input;
		temp[i] = input;
	}

	sort(temp, temp+8);

	for(int i = 3; i < 8; i++)
		sum += temp[i];

	cout << sum << "\n";
	for(int i = 0; i < 8; i++){
		for(int j = 3; j < 8; j++){
			if(score[i] == temp[j])
				cout << i+1 << " ";
		}
	}
}

[결과 화면]