https://www.acmicpc.net/problem/1112
import sys
input = sys.stdin.readline
x, b = map(int, input().split())
# 변환된 각 자리수를 저장할 리스트
dap = []
# 양의 진법에서 x가 음수일 때 음수 표기(플래그 1)
flag = 0
if(x < 0 and b > 0):
# 계산 편의를 위해 x를 양수로 바꾸고
# 나중에 맨 앞자리에만 - 효과를 주기 위해 표시
x *= -1
flag = 1
while(x):
# 파이썬의 몫/나머지 연산
q, r = divmod(x, b)
# b가 음수일 때 r이 음수가 나올 수 있음(파이썬 규칙 때문)
if(r < 0):
# r = r - b (b<0이므로 r에 |b|를 더하는 효과 → 0 ≤ r < |b|)
# r을 키운 만큼 q도 1 증가시켜 x = b*q + r 관계 유지
r -= b
q += 1
# 현재 자릿수 저장
dap.append(r)
x = q
if not dap:
dap.append(0)
dap.reverse()
# 양의 진법에서 원래 x가 음수였던 경우 -로 바꿈
if(flag):
dap[0] *= -1
print(''.join(map(str, dap)))'코딩테스트 > 코딩테스트 문제풀이' 카테고리의 다른 글
| [Python] 백준 <1091-카드 섞기> (0) | 2025.08.28 |
|---|---|
| [Python] 백준 <1043-거짓말> (0) | 2025.08.28 |
| [Python] 프로그래머스 <미로 탈출 명령어> (0) | 2025.08.20 |
| [Python] 프로그래머스 <풍선 터트리기> (0) | 2025.08.15 |
| [Python] 백준 <1987-알파벳> (0) | 2025.08.12 |