백준 1946번 신입 사원

김두현·2022년 11월 30일
1

백준

목록 보기
31/133
post-thumbnail

🔒[문제 url]

https://www.acmicpc.net/problem/1946


🪄전체 코드

#define _CRT_SECURE_NO_WARNINGS
#include <iostream> // cpp
#include <algorithm>
// 자료 구조
#include <vector>
using namespace std;

int t, n;
vector<pair<int, int>> v;

void INPUT()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin >> t;
}

int passCnt()
{
    int ans = 1; // 1st of doc, definitely P

    // Record the greatest interview rank among previous people
    int interviewRank = v[0].second;
    for(int i = 1; i < n; i++)
    {
        // P if front orders's interview lower(score) than back order's interview
        if (interviewRank > v[i].second)
        {
            ans++;
            interviewRank = v[i].second;
        }
    }
    return ans;
}

void SOLVE()
{
    while (t--)
    {
        // Input
        cin >> n;
        for (int i = 0; i < n; i++)
        {
            int a, b; cin >> a >> b;
            v.push_back({ a,b });
        }

        // Sort by document(ascending),
        // then "NP" if front orders's interview higher than back order
        sort(v.begin(), v.end());
        cout << passCnt() << '\n';

        // Initialize
        v.clear();
    }
}


int main()
{
    INPUT();

    SOLVE();
}

🥇문제 후기

GOLD5 미만 난이도는 알고리즘 및 풀이 설명을 주석으로 대체합니다.
주석을 참고해주세요.


💕오류 지적 및 피드백은 언제든 환영입니다. 복제시 출처 남겨주세요!💕
💕좋아요와 댓글은 큰 힘이 됩니다.💕
profile
I AM WHO I AM

0개의 댓글