N

(구름 먼데이챌린지 c++ 2주차)3. 출석부 본문

goorm

(구름 먼데이챌린지 c++ 2주차)3. 출석부

naeunchan 2022. 10. 31. 18:56
728x90
반응형

https://edu.goorm.io/learn/lecture/33428/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%A8%BC%EB%8D%B0%EC%9D%B4-%EC%B1%8C%EB%A6%B0%EC%A7%80-%ED%95%B4%EC%84%A4/lesson/1669557/2%EC%A3%BC%EC%B0%A8-%EB%B3%B5%EC%8A%B5%EB%AC%B8%EC%A0%9C-3-%EC%B6%9C%EC%84%9D%EB%B6%80

 

goorm

구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.

goorm.co

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

bool asc(pair<string, double> a, pair<string, double> b){
	if(a.first == b.first){
		return a.second < b.second;
	}
	
	return a.first < b.first;
}

int main() {
	int N, target;
	vector<pair<string, double>> v;
	
	cin >> N >> target;
	
	for(int i = 0; i < N; i++){
		string s;
		double h;
		
		cin >> s >> h;
		
		v.push_back({s, h});
	}
	
	sort(v.begin(), v.end(), asc);
	
	cout << fixed;
	cout.precision(2);
	cout << v[target - 1].first << " " << v[target - 1].second;
	
	return 0;
}

vector로 이름과 키를 pair 형으로 받아 이를 주어진 조건대로 정렬하면 된다.

만약 이름순으로 하되 이름이 같다면 키가 작은 순으로 하면 된다.

cout << fixed와 cout.precision(2)는 소수점 2자리까지 출력하기 위함이다.

728x90
반응형