-
[BOJ] 8진수, 10진수, 16진수 - 11816ComputerScience/Algorithm 2024. 4. 6. 14:24728x90
접근 방법
주어진 조건에 맞게 분기를 나누었다.
8진수는 0부터 시작하고, 16진수는 0x로 시작한다. 이에 맞게 주어진 입력을 처리하면 되었고, 문자열은 슬라이싱이 가능하기 때문에 이를 활용하였다.
잘 모르고 있었던 것은 8진수, 16진수로의 변환과 int()의 사용법이었다.
정답
import sys input = sys.stdin.readline x = input().rstrip() if len(x) >= 2: if (x[0] == "0") & (x[1] == "x"): print(int(x[2:], 16)) elif x[0] == "0": print(int(x[1:], 8)) else: print(int(x)) else: print(int(x))
후기
어렵진 않았고, int()의 사용법을 자세히 알게 되었다.
int()는 두 번째 매개변수로 base 즉 진법을 받기 때문에 이를 우리가 원하는 진법으로 맞추면 변환이 가능하다.
'ComputerScience > Algorithm' 카테고리의 다른 글
[LeetCode] 367. Valid Perfect Score (0) 2024.04.09 [LeetCode] 166. Fraction to Recurring Decimal (0) 2024.04.09 [BOJ] 히든 넘버 - 8595 (0) 2024.04.09 [BOJ] 숫자의 합 - 11720 (0) 2024.04.05 [BOJ] 소인수분해 - 11653 (0) 2024.04.05