본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]16546번 이건 무슨 진법이지?

by 현장 2021. 11. 14.

-코드

for _ in range(int(input())):
    k, n = input().split()
    if int(max(list(n))) > 7:
        print(int(k), 0, int(n), int(n, 16))
    else:
        print(int(k), int(n, 8), int(n), int(n, 16))

처음에는 oct와 hex를 사용했으나 값이 다르게 나와서 다른 방법인 int(n, 8)과 같은 방법을 사용을 하였고 문제를 보니 8진법이 안 나오는 경우를 못 찾아서 찾이보니 8과 9가 들어갈 경우 변환이 안된다는 것을 알게 되어서 if문을 넣었습니다. 그러나 그래도 틀렸다고 나와서 혹시나 해서 int형으로 다 바꿔주니 해결이 되었습니다.