Skip to main content
  1. Posts/
  2. Algorithm/

BOJ 11000 강의실 배정

·109 words·1 min
Jiho Kim
Author
Jiho Kim
달려 또 달려

📝 문제 정보
#

🧐 관찰 및 접근
#

  • 각 강의를 선분이라고 생각하면, 선분이 가장 많이 겹쳐진 타이밍이 가장 많은 강의실을 필요로 하는 타이밍일 것이다.
  • 스위핑을 사용해서 이를 계산하자.

💻 풀이
#

  • 코드 (C++):
void solve(){
    int N; cin >> N;
    vector<pair<int, bool>> events; // {time, isStart}
    rep(i, 0, N){
        events.push_back({s, true});
        events.push_back({e, false});
    }
    sort(all(events));
    int ans = 0, cnt = 0;
    for(auto [time, isStart]: events){
        if(isStart) cnt++;
        else cnt--;
        ans = max(ans, cnt);
    }
    cout << ans;
}
🔒

구현 코드 잠금

아래 쿠팡 링크를 방문하시면 코드가 공개됩니다.
광고 수익이 블로그 운영에 도움이 됩니다 🙏

🛒 쿠팡 방문하고 코드 보기

방문 후 잠금이 자동으로 해제됩니다