본문 바로가기
Algorithm

[구현/수학] 백준 11816 8진수, 10진수, 16진수 - 파이썬(Python)

by jangThang 2022. 4. 22.
반응형

백준 온라인 저지

 

[ 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:]를 하면 인덱스 오류가 나므로 예외처리를 해줍니다.

     

    star가 되고나서 Tistory

    반응형

    댓글