BOJ | 1546번

30752 단어 백준파이썬cppcpp

Python 풀이

N = int(input()) #과목 개수 입력
scr = list(map(int,input().split())) #점수 입력
print((sum(scr)*100/max(scr))/N) 
#점수의 합을 최고 점수로 나누고 100을 곱한 것을 과목의 갯수로 나눔
  • NN (과목 개수)

  • Ak=A1,A2,...,Am,...,AnA_k = A_1, A_2, ... , A_m , ... , A_n

  • Bk=(A1/Am)100,(A2/Am)100,...,(An/Am)100B_k = (A_1/A_m)*100, (A_2/A_m)*100, ..., (A_n/A_m)*100

  • Answer=Bk/N=((Ak)100/Am)/NAnswer = ∑B_k/N = ((∑A_k)*100/A_m)/N

  • 코드에서 Ak∑A_k

    C++ 풀이

#include <iostream>

using namespace std;

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

    int N;
    int max = 0, sum = 0;
    int arr[1001] = { 0, };
    cin >> N;
    for(int i=0;i<N;i++) {
    	int a;
    	cin >> a;
    	if (max < a) max = a;
    	arr[i] = a;
    }
    for (int i = 0; i < N; i++) {
    	sum += arr[i];
    }
    cout << (sum * 100 / max)/(float)N;
}

좋은 웹페이지 즐겨찾기