[백준 2998 파이썬] 8진수

일단 해볼게·2022년 8월 11일
0

백준

목록 보기
12/132

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

# 8진수

two_to_eight = {
    '000': '0',
    '001': '1',
    '010': '2',
    '011': '3',
    '100': '4',
    '101': '5',
    '110': '6',
    '111': '7'
}

num = input()
result = ""

while len(num) % 3 != 0: # 길이가 3의 배수일떄까지 앞에 0 추가
    num = "0" + num

while num:
    result = result + two_to_eight[num[0:3]] # 키에 맞는 값을 result에 추가
    num = num[3:] # 추가한 num을 제거

print(result)
  • 문제가 요구하는 것처럼 자리수를 3의 배수로 맞추고 3자리씩 나누어 8진수 값을 구한다.

다른사람 풀이

x = oct(int(input(),2))
print(x[2:])
  • 2진수로 입력을 받기
  • 2진수를 10진수(정수)로 바꾼 다음에 8진수로 고쳐서 출력
profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글