
코드 설계
- 입력 값이 0~9이면 그대로 int형으로 변환
- A ~ Z 이면
정답 코드
1차 - 틀림
import sys
input = sys.stdin.readline
n, b = input().split()
b = int(b)
int_num = [str(i) for i in range(0,10)]
ans = 0
for i in range(len(n)-1, -1, -1) : # len(n)-1 ~ 0
if n[i] in int_num :
ans += int(n[i]) * (b**i)
else :
ans += (ord(n[i])-55) * (b**i)
print(ans)
char.isdigit( )로 문자열의 문자가 숫자인지 확인할 수 있음
for i in range(len(n)-1, -1, -1) :
b에 곱해지는 i 만 역순으로 계산되어야 하는데 위처럼 반복문을 사용하여 n[i]에 대한 인덱스도 역순으로 접근
실패..
gpt
import sys
input = sys.stdin.readline
n, b = input().split()
b = int(b)
ans = 0
for idx, char in enumerate(reversed(n)) : # 문자를 뒤집어서 자릿수 처리
if char.isdigit() :
ans += int(char) * (b ** idx)
else :
ans += (ord(char) - 55) * (b ** idx)
print(ans)
'코딩 테스트 > 백준' 카테고리의 다른 글
[Python] 백준 24416 알고리즘 수업 - 피보나치 수 1 (0) | 2025.01.06 |
---|---|
[Python] 백준2587 대표값2 (0) | 2025.01.06 |
[Python] 백준 2075 N번째 큰 수 (0) | 2025.01.06 |
[Python] 백준 1427 소트인사이트 (0) | 2025.01.06 |
[Python] 백준 10815 숫자 카드 (0) | 2025.01.06 |