C | C++/Softeer 문제풀이
Softeer 강의실 배정 C/C++ 문제풀이 (level 3)
zyeon
2023. 11. 3. 21:41
https://softeer.ai/practice/6291
Softeer - 현대자동차그룹 SW인재확보플랫폼
김교수는 강의실 1개에 최대한 많은 강의를 배정하려고 한다. 배정된 강의는 서로 겹치지 않아야 하며 수업시간의 길이와 상관없이 최대한 강의를 많이 배정하라. 단, 두 강의의 시작시간과 종
softeer.ai
<cpp 문제풀이>
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(int argc, char** argv)
{
int n;
int now=0;
int cnt=0;
int start,end;
vector <pair<int,int>>v;
cin>>n;
for(int i=0;i<n;i++){
cin>>start>>end;
v.push_back({end,start});
}
sort(v.begin(),v.end());
for(int i=0;i<n;i++){
if(v[i].second>=now){
cnt++;
now=v[i].first;
}
}
cout<<cnt;
return 0;
}
비슷한 문제를 풀어봤어서 쉽게 풀었던것 같아요!
원래 2차원 벡터를 많이 사용하는데 이번에 pair를 사용하면서 더 쉽고 간결하게 코드를 짤 수 있었습니다.
다른 의견이나 질문 언제나 환영입니다!!