ν‹°μŠ€ν† λ¦¬ λ·°

[baekjoon] 1655번 : κ°€μš΄λ°λ₯Ό λ§ν•΄μš”

 

[baekjoon] 1655번 : κ°€μš΄λ°λ₯Ό λ§ν•΄μš”

μ΅œλŒ€νž™κ³Ό μ΅œμ†Œνž™μ„ μ΄μš©ν•˜λ©΄ μ‰½κ²Œ ν’€ 수 μžˆλŠ” λ¬Έμ œμ˜€λ‹Ή.. 값이 λ“€μ–΄μ˜¬ λ•Œλ§ˆλ‹€ 쀑간값을 좜λ ₯ν•˜κ²Œ 되면 μ‹œκ°„ λ³΅μž‘λ„κ°€ μ¦κ°€ν•˜κ³  이 λ¬Έμ œλŠ” μ‹œκ°„ μ œν•œμ΄ 있기 λ•Œλ¬Έμ—... λ‹€λ₯Έ 방법이 ν•„μš”ν–ˆλ‹€ μ—¬κΈ°

kwonjeong.tistory.com

- 이전에 ν’€μ—ˆλ˜ 1655λ²ˆμ—μ„œ μ“΄ μ΅œλŒ€ νž™μ„ μ‚¬μš©ν•˜λ©΄ μ‰½κ²Œ ν’€ 수 μžˆλŠ” λ¬Έμ œμ˜€λ‹€

 

#include <queue> 헀더 νŒŒμΌμ„ μž‘μ„±ν•΄μ£Όκ³ 

priority_queue<int> maxH;

λ₯Ό μž‘μ„±ν•΄ μ΅œλŒ€ νž™μ„ 생성

 

// BOJ 11279번 : μ΅œλŒ€ νž™
#include <iostream>
#include <queue>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false); // μž…μΆœλ ₯ λΉ λ₯΄κ²Œ ν•΄ 쀌
    cin.tie(NULL);
    cout.tie(NULL);

    priority_queue<int> maxH; // μ΅œλŒ€ νž™ 생성
    int n, elem; // n: μ—°μ‚°μ˜ 개수 / elem: μ›μ†Œ
    cin >> n;

    for(int i = 0; i < n; i++){
        cin >> elem; // μ›μ†Œ μž…λ ₯λ°›μŒ
        maxH.push(elem); // μž…λ ₯받은 μ›μ†Œ push
        if(elem == 0){ // μ›μ†Œκ°€ 0이라면
            cout << maxH.top() << "\n"; // μ΅œλŒ€ νž™μ˜ top을 좜λ ₯
            maxH.pop(); // 좜λ ₯ν–ˆμœΌλ―€λ‘œ pop ν•΄μ€Œ
        }
    }
}

κ·Έ λ’€μ—” μ΄λ ‡κ²Œ 쑰건에 맞게 μž‘μ„±ν•΄ μ£Όλ©΄ 됨

μ£Όμ˜μ‚¬ν•­μ€ μ‹œκ°„μ œν•œμ΄ μžˆμœΌλ―€λ‘œ endl λŒ€μ‹  "\n"을 써 μ£Όμ–΄μ•Ό ν•œλ‹€λŠ”κ±°..? μ €λ²ˆμ— μ €κ²ƒλ•œμ— μ‹œκ°„μ΄ˆκ³Ό λ„ˆλ¬΄ λ– μ„œ 각인됐댜.. κ·Έλƒ₯ μ•žμœΌλ‘œλ„ endl μ•ˆμ“Έκ²Œμš”

 

μ‹€ν–‰κ²°κ³Ό

Comments