https://softeer.ai/practice/info.do?idx=1&eid=389
Softeer
연습문제를 담을 Set을 선택해주세요. 취소 확인
softeer.ai
#include<iostream>
#include<vector>
#include<string>
#include<cmath>
using namespace std;
struct Inval{
float a;
float b;
float count;
};
int main(int argc, char** argv)
{
//n명의 학생들의 성적이 학번 순서대로 주어졌다
//학번 구간 [a,b]가 주어졌을때 이 학생들의 성적 평균을 구하는 프로그램을 작성
/*제약조건
1 ≤ N ≤ 10^6 인 정수
1 ≤ K ≤ 10^4 인 정수
1 ≤ Si ≤ 100 인 정수
1 ≤ Ai ≤ Bi ≤ N
*/
//첫쨰줄 학생수 N, 구간 수 k
int N,K;
cin>>N>>K;
//두번쨰 줄 학생의 성적 SI
vector<float> score;
vector<Inval> inval;
for(int i=0;i<N;i++){
float s;
cin>>s;
score.push_back(s);
}
for(int i=0;i<K;i++){
float a,b;
cin>>a>>b;
Inval tmp;
tmp.a=a;
tmp.b=b;
tmp.count=b-a+1;
inval.push_back(tmp);
}
float sum=0;
vector<string>avg;
for(int i=0;i<K;i++){
for(int j=inval[i].a;j<=inval[i].b;j++){
sum+=score[j-1];
}
//cout<<sum<<endl;
float tmpavg =sum/inval[i].count;
string stmpavg=to_string( round(tmpavg * 100)/100);
avg.push_back(stmpavg);
sum=0;
}
//cout<<endl;
for(int i=0;i<avg.size();i++){
avg[i].pop_back();
avg[i].pop_back();
avg[i].pop_back();
avg[i].pop_back();
cout<<avg[i]<<endl;
}
return 0;
}
'알고리즘 공부' 카테고리의 다른 글
프로그래머스 게임 맵 최단거리 (0) | 2023.03.30 |
---|---|
GBC (0) | 2023.03.02 |
바이러스 (0) | 2023.03.02 |
8단 변속기 (0) | 2023.03.02 |
장애물 인식 프로그램 (0) | 2023.03.02 |