๐Ÿ’ญ Problem Solving

[BOJ][C++] ๋ฐฑ์ค€ 1212๋ฒˆ: 8์ง„์ˆ˜ 2์ง„์ˆ˜

0=2. 2024. 5. 24. 02:12

๋ฌธ์ œ

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

ํ’€์ด

๐Ÿ’ก 8์ง„์ˆ˜ ํ•œ ์ž๋ฆฌ๋Š” 2์ง„์ˆ˜ ์„ธ ์ž๋ฆฌ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

(ex) 0 → 000, 1 → 001, ... , 7 → 111

 

1. 0 ~ 7 ์„ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž์—ด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.
2. ์ž…๋ ฅ๋ฐ›์€ 8์ง„์ˆ˜ ์ˆ˜๋ฅผ ์•ž์—์„œ๋ถ€ํ„ฐ ํ•œ ์ž๋ฆฌ์”ฉ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅํ•œ๋‹ค.
    *์ด๋•Œ, ๋งจ ์•ž์˜ ์ˆ˜๊ฐ€ 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋„๋ก int๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

 

๐Ÿšจ ์ž๋ฆฟ์ˆ˜ ์œ ์˜

    - ์ฃผ์–ด์ง€๋Š” ์ˆ˜์˜ ๊ธธ์ด๋Š” 333334 ์ดํ•˜์ด๊ณ  ์ด์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด 333334*3์ด๋‹ค.

    - ๋งจ ์•ž์˜ ์ˆ˜๋งŒ intํ˜•์œผ๋กœ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ์ „์ฒด๋ฅผ intํ˜•์œผ๋กœ ๋ฐ”๊พธ๋ฉด ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•œ๋‹ค.

 

์ฝ”๋“œ

#include <iostream>
#include <vector>

using namespace std;

int main() {
    string oct;
    vector<string> bin = {"000", "001", "010", "011", "100", "101", "110", "111"};

    cin >> oct;

    for (int i = 0; i < oct.length(); i++) {
        if (i == 0) {
            cout << stoi(bin[oct[i] - '0']);
        } else {
            cout << bin[oct[i] - '0'];
        }
    }

    return 0;
}