[백준 1212번] 8진수 2진수

2017. 6. 15. 01:20알고리즘/백준

반응형




풀이


숫자의 크기가 아닌 수의 길이가 333,334를 넘지 않다고 했으니 수를 입력받을때 int형으로 받을 수 없다.

string 라이브러리를 이용해서 풀수있다.






소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <string>
#include <iostream>
using namespace std;
 
string trans(char a) {
    string result;
    if (a == '0') result = "000";
    else if (a == '1') result = "001";
    else if (a == '2') result = "010";
    else if (a == '3') result = "011";
    else if (a == '4') result = "100";
    else if (a == '5') result = "101";
    else if (a == '6') result = "110";
    else if (a == '7') result = "111";
    return result;
}
 
string last(char a) {
    string result;
    if (a == '1') result = "1";
    else if (a == '2') result = "10";
    else if (a == '3') result = "11";
    else if (a == '4') result = "100";
    else if (a == '5') result = "101";
    else if (a == '6') result = "110";
    else if (a == '7') result = "111";
    return result;
}
 
 
int main()
{
    string s;
    int len;
    cin >> s;
    len = s.length();
    if (s == "0" && len == 1) {
        cout << 0;
        return 0;
    }
    cout << last(s[0]);
    for (int i = 1; i<len; i++) {
        cout << trans(s[i]);
 
    }
    return 0;
 
}
cs
















반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준 9461번] 파도반 수열  (0) 2017.06.20
[백준 11057번] 오르막 수  (0) 2017.06.16
[백준 11048번] 이동하기  (0) 2017.06.15
[백준 11052번] 붕어빵 판매하기  (0) 2017.06.14
[백준 11727번] 2xn 타일링 2  (0) 2017.06.13