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 |
댓글