본문 바로가기
Study (etc)/Problem Solving

[BOJ / C++] 14729번 : 칠무해

by Haren 2022. 11. 10.

문제

조(Joe)는 중앙대학교 교수이고, 논리회로 설계 과목을 담당하고 있다. 그는 수업을 하면서 7명의 학생을 제외한 나머지 학생들에게 좋은 학점을 주겠다고 약속을 하였다.

Joe 교수님을 돕기 위해서 학생들의 최종 성적이 주어질 때, 그의 연구실인 You See Lab으로 데려갈 성적이 좋지 못한 7명의 학생, 칠무해의 성적을 뽑아보자.

입력

첫째 줄에 학생의 수 N(8 ≤ N ≤ 10,000,000)이 주어진다.

둘째 줄부터 N개의 줄에는 학생들의 성적이 무작위로 주어진다. 성적은 최소 0점부터 최대 100점까지 0.001 점 단위로 부여된다.

출력

하위 7명의 성적을 점수가 낮은 순으로 각 줄마다 출력한다. 하위 7명의 성적의 커트 라인에 동점자가 있을 경우에도 7명만 출력을 하면 된다.

Solved.ac 레벨

실버 V

풀이

#include <bits/stdc++.h>

using namespace std;

int n;
vector<double> score;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    cin >> n;

    for(int i = 0; i < n; i++){
        double input;
        cin >> input;
        score.push_back(input);
    }

    sort(score.begin(), score.end());

    cout.precision(3);
    cout << fixed;

    for(int i = 0; i < 7; i++){
        
        cout << score[i] << '\n';
    }


    return 0;
}

학생의 수에 상관없이 하위 7명의 성적을 오름차순으로 출력하면 되는 문제다. 

C++에서 소수점을 특정 자리수로 출력하기 위해서는 cout.precision()과 cout << fixed를 활용하면 된다.

 

 

14729번: 칠무해

조(Joe)는 중앙대학교 교수이고, 논리회로 설계 과목을 담당하고 있다. 그는 수업을 하면서 7명의 학생을 제외한 나머지 학생들에게 좋은 학점을 주겠다고 약속을 하였다. Joe 교수님을 돕기 위해

www.acmicpc.net