Priceless
[백준] 1946번: 신입 사원 (C++) 본문

이 문제 같은 경우 단순히 합산 점수가 높아서 풀 수 있는 문제가 아니였다
테스트 케이스, 지원자 수, 지원자의 서류 순위와 면접 순위가 입력된다
C++로 풀 경우 stl의 pair를 활용하면 쉽게 풀 수 있는 문제
배열 두 개를 사용할 경우 한 배열을 나머지 배열을 같은 순서로 정렬해야 하지만
pair로 두 값을 하나로 저장하면서 원활하게 구현할 수 있었다
우선 서류 순위를 정렬한다
서류 순위는 비교할 필요가 없으므로
순차적으로 면접 순위를 비교하여 다른 면접자들의 점수보다 높을 때
count를 늘리고 최고 값을 갱신한다
// baekjoon 1946
#include<iostream>
#include<algorithm>
#include<utility>
using namespace std;
// codes for fast I/O
void init(){
cin.tie(0);
cout.tie(0);
ios_base::sync_with_stdio(false);
}
int main(){
init();
int t;
cin >> t;
int n;
while (t--) {
cin >> n;
pair<int, int> score[n];
for(int i = 0; i < n; i++) {
cin >> score[i].first >> score[i].second;
}
sort(score, score + n);
int max_score = score[0].second;
int count = 0;
for(int i = 0; i < n; i++){
if(score[i].second <= max_score){
count++;
max_score = score[i].second;
}
}
cout << count << '\n';
}
}
[백준/C++] 백준 1946번: 신입 사원 (tistory.com)
[백준/C++] 백준 1946번: 신입 사원
별거 아닌데 문제가 이해안되서 헤맸다. 난독인듯. 서류랑 면접 순위를 나타낸건데 점수를 나타낸 건 줄 알고 계속 고뇌에 빠졌었다. 순위가 서류와 면접 두 가지로 주어지기 때문에 일단 서류/
sanghyu.tistory.com
오랜만에 pair를 사용하는 문제를 봤다
예전에 코테를 잠깐 공부하면서
골드 문제 '탑'을 풀어보겠다고 배열을 쓰다가
도저히 못 풀어서 찾아봤을 때 pair를 쓰는 것을 보고
그 이후로 코테 공부를 멈췄었는데
오랜만에 봐서 다시 공부하니까
그렇게 또 어렵진 않았다
그래도 새로운 개념이니까
pair만 한 번 정리해서 올릴 예정이다
가만 보면 지레 겁먹고 문제를 못 푸는 경우가 있는 것 같다
새로운 것을 배우는 데에 겁 먹지 말고
아무 생각 없이 공부하는 게 좋은 것 같다
'Algorithm & Test > 백준' 카테고리의 다른 글
[백준] 7568번: 덩치 (C++) (0) | 2023.08.29 |
---|---|
[백준] 1339번: 단어 수학 (C++) (0) | 2023.08.21 |
[백준] 16953번: A → B (C++) (0) | 2023.08.19 |
[백준] 1783번: 병든 나이트 (C++) (0) | 2023.08.18 |
[백준] 1439번: 뒤집기 (C++) (0) | 2023.08.16 |