[백준] 11576번 Base Conversion

거북이·2023년 1월 6일
0

백준[실버5]

목록 보기
63/114
post-thumbnail

💡문제접근

문제 이해를 제대로 못했다. 테스트케이스로 주어진 17진법 수 2를 8진법으로 바꿔도 2가 나와서 도저히 어떤 부분에서 이해를 못하고 있는 것인지 계속 돌아보다가 질문 게시판에 나와 같은 부류의 사람들이 존재하는 것을 알고 그 글을 읽었는데 어떤 사람이 문제에 대한 보충 설명을 해주어서 문제를 이해할 수 있었다.

문제에 대한 설명은 다음과 같다.
예제 입력은 "17진법으로 표현한 두 자리수 (2, 16) 을 8진법으로 나타내시오" 를 의미한다.
2 × 17 + 16 × 1 = 50이고 이를 8진법으로 표현하면 6 2가 된다.

💡코드(메모리 : 30616KB, 시간 : 36ms)

import sys

A, B = map(int, sys.stdin.readline().strip().split())
m = int(input())
A_number = list(map(int, sys.stdin.readline().strip().split()))

decimal_number = 0
for i in range(len(A_number)):
    decimal_number += A_number[i] * (A**(len(A_number)-i-1))

lst = []
while True:
    if decimal_number == 0:
        break
    else:
        lst.append(decimal_number % B)
        decimal_number //= B
print(*lst[::-1])

💡소요시간 : 7m

0개의 댓글