룰루코딩

백준 1212 1373 1252 1550 11005 13877 3460 진수 관련 문제 본문

백준

백준 1212 1373 1252 1550 11005 13877 3460 진수 관련 문제

rulru01 2025. 1. 7. 14:54

1212 8진수 2진수

https://www.acmicpc.net/problem/1212

print(bin(int(input(),8))[2:])

int(input(),8)는 8 진수로 입력을 받고, bin()을 이용해 2진수로 변환하여 출력한 다음, [2:]를 이용해 맨 앞 2자리에 이진법을 의미하는 0b를 제거해 2번째 자리부터 출력될 수 있도록한다.


1373 2진수 8진수

https://www.acmicpc.net/problem/1373

print(oct(int(input(), 2))[2:])

oct()를 이용해 정수를 0o로 시작하는 8진수 문자열로 변환, oct(n)을 출력하면 앞에 0o 문자가 붙어서 2번째 인덱스부터 출력해주면 된다.


1252 이진수 덧셈

https://www.acmicpc.net/problem/1252

x, y = input().split()
print(bin(int(x,2) + int(y,2))[2:])

int(x, 2)로 입력받은 이진수를 정수(10진수)로 바꾸고, 다시 bin()을 통해 2진수로 바꾸어준다, 마지막 [2:]한 이유는 10진수를 2진수로 변환하는 함수를 쓰면 앞에 0b가 붙기 때문에 이부분을 지우기 위해 사용


1550 16진수

https://www.acmicpc.net/problem/1550

print(int(input(), 16))

내장함수 int를 사용하면 특정 진수의 문자열을 10진수로 쉽게 변환

 


11005 진법 변환 2

https://www.acmicpc.net/problem/11005

N, B = map(int, input().split())
s = ''
arr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"

while N:
    s += str(arr[N%B])
    N //= B

print(s[::-1])

 

  • s: 결과를 저장할 빈 문자열
  • arr: 0부터 35까지의 숫자에 해당하는 문자들이 들어 있는 문자열, 10진법을 넘어선 진법(11진법 이상)에서 사용
  • N % B: N을 B로 나눈 나머지 구하고, 이 나머지가 새로운 자릿수에 해당하는 값,  arr[N%B]로 나머지에 해당하는 문자를 가져와 s에 추가
  • N //= B: N을 B로 나눈 몫을 N에 다시 저장, 반복문을 계속 진행. 자릿수를 한 칸씩 내려가게 함
  • s[::-1]: 문자열 s 뒤집어서 출력. s에는 나머지들이 역순으로 저장돼서 뒤집어 올바른 순서로 출력

 


13877 이건 무슨 진법이지?

https://www.acmicpc.net/problem/13877

for _ in range(int(input())):
    i, n = input().split()
    o = int(n, 8) if max(list(n)) < '8' else 0
    print(int(i), o, int(n), int(n, 16))

3460 이진수

https://www.acmicpc.net/problem/3460

T = int(input())
for _ in range(T):
   N = bin(int(input()))[2:]
   for i in range(len(N)):
       if N[-i-1] == '1':
           print(i, end = ' ')
for _ in range(int(input())):
    n = int(input())
    i = 0
    while n > 0:
        if n%2 == 1:
            print(i, end=' ')
        n = n//2
        i += 1

'백준' 카테고리의 다른 글

18870 좌표 압축  (0) 2025.01.20
백준 9461 파도반수열  (1) 2025.01.18
백준 9095 1, 2, 3 더하기  (2) 2025.01.04
백준 1927 최소 힙  (2) 2025.01.03
백준 2108 통계학  (0) 2024.11.22