Algorithm πŸ§‘πŸ»‍πŸ’»/λ°±μ€€(BOJ)

[λ°±μ€€,c++] 1138번 - ν•œ μ€„λ‘œ μ„œκΈ°

dkswnkk 2021. 10. 27. 23:27
 

1138번: ν•œ μ€„λ‘œ μ„œκΈ°

첫째 쀄에 μ‚¬λžŒμ˜ 수 N이 μ£Όμ–΄μ§„λ‹€. N은 10보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€. λ‘˜μ§Έ μ€„μ—λŠ” ν‚€κ°€ 1인 μ‚¬λžŒλΆ€ν„° μ°¨λ‘€λŒ€λ‘œ μžκΈ°λ³΄λ‹€ ν‚€κ°€ 큰 μ‚¬λžŒμ΄ μ™Όμͺ½μ— λͺ‡ λͺ…이 μžˆμ—ˆλŠ”μ§€ μ£Όμ–΄μ§„λ‹€. i번째 μˆ˜λŠ” 0보닀

www.acmicpc.net

#include <iostream>
#include <vector>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int N; cin >> N;
    vector<int>v(N);
    for (int i = 1; i <= N; i++) {            // ν‚€κ°€1인 μ‚¬λžŒλΆ€ν„° μ‹œμž‘ν•΄ Nλͺ…κΉŒμ§€
        int key; cin >> key;
        for (int j = 0; j < N; j++) {        //쀄을 νƒμƒ‰ν•œλ””.
            if (v[j] == 0 && key == 0) {    //자기 μžλ¦¬κ°€ λΉ„μ—ˆκ³ , ν‚€ 큰 μ‚¬λžŒλ“€μ„ λ‹€ μ§€λ‚˜μ³€μ„ λ•Œ 
                v[j] = i;                
                break;
            }
            else if (v[j] == 0) key--;        //ν‚€κ°€ 큰 μ‚¬λžŒμ΄ μžˆλŠ”λ§ŒνΌ μ§€λ‚˜μΉœλ‹€.    //v[j]!=0 κ²½μš°λŠ” μžκΈ°λ³΄λ‹€ ν‚€κ°€ μž‘μ€ μ‚¬λžŒμ΄ 이미 μ‚½μž…λ˜μ–΄μžˆμŒ.
        }
    }
    for (int i : v) {
        cout << i << " ";
    }
}