반응형
[ Contents ]
1. 문제 (링크 참조)
11816번: 8진수, 10진수, 16진수
첫째 줄에 X가 주어진다. X는 10진수로 바꿨을 때, 1,000,000보다 작거나 같은 자연수이다. 16진수인 경우 알파벳은 소문자로만 이루어져 있다.
www.acmicpc.net
2. 문제 풀이
주어진 8진수, 10진수, 16진수를 10진수로 변환하는 문제입니다.
int(n, base=m): m진수인 n을 10진수로 변환
int() 함수를 이용하면 쉽게 해결할 수 있습니다.
3. 코드
x = input()
# 10진수 1의 자리
if len(x) == 1:
print(x)
# 16진수
elif x[0:2] == '0x':
print(int(x[2:], 16))
# 8진수
elif x[0] == '0':
print(int(x[1:], 8))
# 10진수
else:
print(x)
입력된 수의 앞 자리를 보고, 8/10/16 진수를 판별해야 합니다. 일의 자리인 10진수일 경우, 16진수를 판별할 때 x[2:]를 하면 인덱스 오류가 나므로 예외처리를 해줍니다.
반응형
'Algorithm' 카테고리의 다른 글
[동적계획법/DP] 백준 1149 RGB거리 - 파이썬(Python) (0) | 2022.04.24 |
---|---|
[구현/수학] 백준 1402 아무래도이문제는A번난이도인것같다 - 파이썬(Python) (0) | 2022.04.23 |
[구현/수학] 백준 1252 이진수 덧셈 - 파이썬(Python) (0) | 2022.04.21 |
[구현/수학] 백준 10829 이진수 변환 - 파이썬(Python) (0) | 2022.04.20 |
[동적계획법/DP] 백준 1699 제곱수의 합 - 파이썬(Python) (0) | 2022.04.19 |
댓글