백준 1550 16진수 - Python

728x90

1150 16진수

print(int(str(int(input(), 16)), 10))

문제

16진수 수를 입력받아서 10진수로 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 

16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 

또, 이 수는 음이 아닌 정수이다.

출력

첫째 줄에 입력으로 주어진 16진수 수를 10진수로 변환해 출력한다.

 

문제해설

본 문제는 Casting을 얼마나 잘하는지에 중점을 둔 문제이다.

원래 C++과 같은 코드를 통해 해결하라고 만들어진 문제로 보인다.

파이썬으로는 전혀 도움이 되지 않는 문제인 것 같다.

 

간단하게, int() 함수의 입력은 정수로 캐스팅할 문자열과 정수 변환 시, 변환할 진수를 입력받는다.

하지만 보통 기본값인 10진수를 사용하기 때문에, 그냥 문자열만 입력으로 넣는다.

 

이를 이해한다면 쉽게 해결할 수 있는 문제였다.

 

정답코드

print(int(str(int(input(), 16)), 10))
728x90