728x90
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
'CodingTest > BOJ' 카테고리의 다른 글
[Python] 백준 1149 RGP거리 문제풀이 및 정답코드 (0) | 2024.12.16 |
---|---|
10828 백준 스택 - 파이썬 (1) | 2024.12.11 |
백준 30647 점수관리 - Python (0) | 2024.12.07 |
백준 1260 DFS와 BFS - Python (0) | 2024.12.05 |
백준 1213번 팰린드롬 만들기 - Python (0) | 2024.12.04 |