알고리즘 연습/기초 (입출력 등)

[🥉2 / 백준 1373 / 파이썬] 2진수 8진수

김세진 2021. 9. 29. 23:17
반응형

 

 

1373번: 2진수 8진수

첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.

www.acmicpc.net

 

문제

2진수가 주어졌을 때, 8진수로 변환하는 프로그램을 작성하시오.

입력

첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.

출력

첫째 줄에 주어진 수를 8진수로 변환하여 출력한다.

 

예제 입력 

11001100

예제 출력 

314

 

풀이

 

2진수를 10진수로 변환한 뒤, 다시 8진수로 출력하는 문제이다.

파이썬에서는 int 로 문자열을 10진수로 변환할 수 있다.

단, 문자열이 10진수가 아닌 다른 n진수로 이루어졌을 경우, 인수에 n을 추가하면 된다.

즉, int(string, n) 을 한다면 n진수로 이루어진 string을 10진수로 변환한다.

 

그리고 10진수를 8진수로 변환하는 함수는 oct 이다.

oct(10진수) 를 넣는다면 자동으로 8진수 문자열로 변환하는데,

앞에 8진수임을 가르키는 0c 가 붙어있으므로 앞의 두 글자를 떼고 출력하도록 하자.

 

print(oct(int(input(),2))[2:])
반응형