반응형
문제 출처 :
https://www.acmicpc.net/problem/1212
알고리즘 분석 :
문제 해결에 필요한 사항
1. 8진수, 2진수 개념
2. 진법 변환
http://www.crocus.co.kr/468 에 8진수를 2진수로 변환하는 상세한 방법이 나와있다.
이 방식을 코드로 옮기면 다음과 같다.
table을 만들어서 0 ~ 9까지의 2진수 형태를 만들어준다. (0 :: 000 ~ 9 :: 111)
앞에 first를 한번 왜 출력하냐면, 8진수 100같은경우 001 000 000 즉, 1000000인데
이처럼 첫자리에 0이 나오면 안되기 때문이다.
소스 코드 :
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 | #include <iostream> #include <string.h> using namespace std; int main() { char eight[333335]; char first[10][4] = { "","1","10","11","100","101","110","111" }; char table[10][4] = { "000","001","010","011","100","101","110","111" }; int len; cin >> eight; len = strlen(eight); printf("%s", first[eight[0] - 48]); for (int i = 1; i < len; i++) printf("%s", table[eight[i] - 48]); return 0; } // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Applied > 알고리즘 문제풀이' 카테고리의 다른 글
[11055번] 가장 큰 증가 부분 수열 (0) | 2016.10.28 |
---|---|
[9465번] 스티커 (0) | 2016.10.28 |
[2605번] 줄 세우기 (0) | 2016.10.28 |
[2790번] F7 (0) | 2016.10.27 |
[2875번] 대회 or 인턴 (0) | 2016.10.24 |