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

[백준/파이썬] 21275번 폰 호석만

by 현장 2022. 5. 23.

-Code

import sys
input = sys.stdin.readline

a, b = input().split()
cnt = 0
x, r1, r2 = 0, 0, 0

for i in range(2, 37):
    try:
        a_int = int(a, i)
    except:
        continue
    for j in range(2, 37):
        try:
            b_int = int(b, j)
            if i == j:
                continue
            if a_int == b_int:
                cnt += 1
                r1 = i
                r2 = j
                x = a_int
        except:
            continue

if cnt == 0:
    print("Impossible")
elif cnt == 1:
    print(x, r1, r2)
else:
    print("Multiple")

처음에 10진법 이상이 나올경우 int로 진법 변환을 하는 것이 문제가 되어 try except 방법을 찾아서 해결을 하고 마지막 케이스 1개를 통과를 못했습니다. 그래서 다시 찾아보니 i == j일경우를 제외하지 않으면 문제가 생겼습니다. 그래서 if문으로 해결하여 통과했습니다.