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

+ Recent posts