백준/python
2998:8진수(python)
CBH_0417
2023. 9. 14. 11:56
https://www.acmicpc.net/problem/2998
2998번: 8진수
창영이는 여러 가지 진법을 공부하고 있다. 창영이는 어제 2진법을 배웠고, 오늘은 8진법을 배웠다. 이제, 2진법 수를 8진법 수로 변환하려고 한다. 창영이가 사용한 방법은 다음과 같다. 2진수의
www.acmicpc.net
문제
창영이는 여러 가지 진법을 공부하고 있다. 창영이는 어제 2진법을 배웠고, 오늘은 8진법을 배웠다. 이제, 2진법 수를 8진법 수로 변환하려고 한다.
창영이가 사용한 방법은 다음과 같다.
- 2진수의 길이가 3으로 나누어 떨어질 때 까지 수의 앞에 0을 붙인다.
- 그 다음, 3자리씩 그룹을 나눈다.
- 아래의 표를 참고해 8진수로 바꾼다.
2진수가 주어졌을 때, 창영이가 사용한 방법을 이용해 8진수로 바꾸는 프로그램을 작성하시오.
풀이
입력은 2진수형태로 한 후 즉시 그것을 8진수화 함수에 집어넣고 진수화 함수 특유의 문자열 0o 부분을 제외한 부분을 출력시키면 된다.
코드
x = oct(int(input(),2)) #입력을 2진수화 한 뒤, 즉시 8진수화 함수에 넣는다
print(x[2:]) #0c부분을 제외한 부분을 출력한다.