본문 바로가기
프로그래밍/알고리즘

백준 1373

by laoching 2022. 7. 7.
728x90
반응형
문제

풀이
"""
n = input()
n = n[::-1]
cnt = 0
result = 0
for i in n:
    result += (int(i) * (2 ** cnt))
    cnt += 1
print('{0:o}'.format(result))
"""
n = int(input(), 2)
print('{0:o}'.format(n))

처음에는 문자열을 입력받아서 뒤집고, 자릿수만큼 2를 제곱해준 수를 곱하고 난 결과를 8진수로 변환했는데 시간초과가 발생했다.

 

검색해보니까 아주 간단했다.

 

파이썬에서는 2진수로 입력을 받는 기능이 있었다.

그리고 oct 함수로 변환을 했는데, 이 상태에서 그냥 print를 사용하면 아래처럼 8진수임을 알리는 문자 2개가 포함되어 나오기 때문에 format을 이용했다.

파이썬은 기능이 너무 많다.

728x90
반응형

'프로그래밍 > 알고리즘' 카테고리의 다른 글

[프로그래머스] 폰켓몬(파이썬)  (0) 2023.06.21
[프로그래머스] 푸드 파이트 대회(파이썬)  (0) 2023.06.21
백준 3711 파이썬  (0) 2022.06.13
백준 2755 파이썬  (0) 2022.01.20
백준 9093 파이썬  (0) 2022.01.19

댓글