알고리즘/Python

[백준/Python] 1373번: 2진수 8진수 (파이썬 진법 변환 요약)

_SIHA_ 2022. 2. 8. 18:15

📖  문제 링크

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

 

1373번: 2진수 8진수

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

www.acmicpc.net

 

👩‍💻  문제풀이

 

파이썬 int함수에는 10진법 변환 기능이 있다. 

int(문자열로 변환된 숫자, 해당 숫자의 진법) 을 넣으면 10진법으로 변환된다.

print(int('1010', 2))

위와 같이 입력하면 10이 출력된다. 1010(2)를 10진법으로 변환한 수다. 

 

 

문제의 조건은 2진수를 10진수가 아닌 8진수로 변환하는 프로그램이므로, 

파이썬의 oct함수를 다시한번 사용한다. 

 

 

여기서 파이썬 진법 함수 정리!

  • bin() : 2진수
  • oct() : 8진수
  • hex() : 16진수 

 

 

2진수 -> 10진수 -> 8진수의 순서로 변환하는것이다. 

출력 조건은 숫자만을 출력하는 것이므로 각 진법을 나타내는 앞의 문자열은 제외한다. ( [2:]

 

 

  최종 코드

print(oct(int(input(), 2))[2:])