Algorithm/수학

BOJ#1373 2진수 8진수

밤이2209 2016. 12. 14. 14:02

BOJ#1373 2진수 8진수


* 문제

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


* 풀이

2진수, 8진수, 16진수 간 변환은 2진수를 중심으로 하면 편합니다.

즉, 8진수와 16진수 간의 변환도 일단 2진수로 변환을 한 후 다시 변환을 해주시는 것이 좋습니다.


2진수 11001100이 있을 때,

2자리씩 묶으면 4진수

11 00 11 00 → 3030

3자리씩 묶으면 8진수

011 001 100 → 314

4자리씩 묶으면 16진수

1100 1100 → CC


<알고리즘>

1. String으로 입력 받은 2진수 입력값의 길이를 조사한다.

2. 길이가 3으로 나누어 떨어지지 않는 경우, "0" 또는 "00"을 추가시켜준다.

3. 3자리씩 끊어 가면서 int 변환한 후 8진수 값으로 변환한다.



* 나의 코드

https://github.com/stack07142/BOJ/tree/master/BOJ%231373_BINToOCT


'Algorithm > 수학' 카테고리의 다른 글

BOJ#1339 단어 수학  (0) 2017.03.15
BOJ#2089 -2진수  (0) 2016.12.16
BOJ#4134 다음 소수  (0) 2016.11.09
BOJ#1929 소수 구하기  (0) 2016.11.08
BOJ#2609 최대공약수 최소공배수  (0) 2016.11.08