[백준]B3-1212

oxllz·2022년 1월 20일
0

백준-브론즈

목록 보기
15/65
post-thumbnail

문제

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


입력

첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.


출력

첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다.


풀이

파이썬 함수를 하나도 모르는게 문제가 아닐까..
시간초과가 많이 뜨고 정답 코드를 보면 허무할정도로 짧구나 ..ㅋㅋㅋ

  • 살짝 바보짓한 코드..
eight = int(input(), 8)
mylist = []
while eight > 0:
    mylist.append(eight % 2)
    eight = eight // 2

for i in mylist[::-1]:
    print(i, end='')   

  • 정답 코드
eight = int(input(), 8)
print(bin(eight)[2:])

10진수를 2진수, 8진수, 16진수로 변환하기

  • 2진수 : 0b
  • 8진수 : 0o
  • 16진수 : 0x
  1. bin, oc, hec 내장함수 사용 ( 결과는 전부 문자열 )
    • 2진수 : bin()
    • 8진수 : oct()
    • 16진수 : hex()

  2. format 내장함수 사용 ( #이 없으면 접두어가 빠진 결과 )
    • format( 값 , '#b' ) / format( 값 , 'b' )
    • format( 값 , '#o' ) / format( 값 , 'o' )
    • format( 값 , '#x' ) / format( 값 , 'x' )

0개의 댓글