본문 바로가기
Algorithm/백준

[백준] 4344번 : 평균은 넘겠지 / c++

by 코딩친구 2020. 5. 18.
반응형

https://www.acmicpc.net/problem/4344

 

4344번: 평균은 넘겠지

문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 �

www.acmicpc.net

 

[ 맞은 코드 ]

#include <iostream>

using namespace std;

int main(){
    
    int C, N;
    
    cin >> C;
    
    for(int i=0; i<C; i++) {
        float average = 0;
        int sum = 0;
        int count = 0;
        
        cin >> N;
        int score[N];
        
        for(int j=0; j<N; j++) {
            cin >> score[j];
            sum += score[j];
        }
        
        average = (double)sum/N;
        
        for(int j=0; j<N; j++) {
            if(score[j] > average){
                count++;
            }
        }
        
        cout.precision(3);
        cout << fixed << (double)count/N*100 << "%" << endl;
    }
    
    return 0;
}

 

 

[ 틀린 코드 ]

#include <iostream>

using namespace std;

int main(){
    
    int C, N;
    
    cin >> C;
    
    for(int i=0; i<C; i++) {
        float average = 0;
        int sum = 0;
        int count = 0;
        float percentage = 0;
        
        cin >> N;
        int score[N];
        
        for(int j=0; j<N; j++) {
            cin >> score[j];
            sum += score[j];
        }
        
        average = (double)sum/N;
        
        for(int j=0; j<N; j++) {
            if(score[j] > average){
                count++;
            }
        }
        
        percentage = (double)(count/N)*100;
        cout.precision(3);
        cout << percentage << "%" << endl;
    }
    
    return 0;
}

 

 

- percentage를 따로 변수 지정을 해주면 안 됨.

- 'fixed' 함수 없음. fixed는 소수점 밑자리를 고정시켜주는 함수.

- 'precision'은 소수점 밑자리 몇 까지를 표기할지 정하는 함수.

   cout.precision(3)이면 소수점 세 번째 자리까지 라는 뜻.

반응형