13731 백준 1373 문제 풀이 """ 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을 이용했다. 파이썬은 기.. 2022. 7. 7. 이전 1 다음 728x90