입력된 정수를 몇진수로 바꾸는 함수가 for문을 이용하는것이 아니라 아주 간단한 int 함수로 가능했다.
def num_base(num, base):
num_str=str(num)
num_list=[]
for _ in range(len(num_str)):
num_list.append(num%10)
num=num//10
val = 0
for i, n in enumerate(num_list):
val+=n*(base**i)
return val
num, base = map(int, input().strip().split(' '))
print(num_base(num, base))
내가 짠 처참한 코드... 보통의 for문 돌리는 거랑 비교해봐도 최악이다.
num, base = map(int, input().strip().split(' '))
num=str(num)
answer = 0
for idx, number in enumerate(num[::-1]):
answer += int(number) * (base ** idx)
print(answer)
이렇게라도 짰어야 됐는데... 정말 바보가 따로 없다.
난 결국 숫자로 쓰인 문자열을 int화 시킬 생각도(모르는게 아니면서도) 못했고
밑에 위키독스에 나오는 list에서 사용하는 step(::)도 쓸줄 몰랐다..
list[::-1] 이렇게 써주면 reverse되는 구나
11. List(리스트)(2) - 리스트 인덱싱, 리스트 슬라이싱
## 1.list indexing(리스트 인덱싱) - 파이썬에서 리스트 인덱싱은 `-`(음수 인덱싱) 값도 허용합니다. - `-` 값은 역순으로도 인덱싱됩니다. - 다른 ...
wikidocs.net
암튼 별로 쓰고 싶지 않은.. for문 대신
num, base = map(int, input().strip().split(' '))
int(num, base)
이토록 간단하고 아름다운 코드라니... 공부하자
'Etc. > Python' 카테고리의 다른 글
[Python] string 모듈 (0) | 2021.10.09 |
---|---|
[Python] 문자열 정렬 (0) | 2021.10.09 |
[Python] 몫과 나머지 - divmod, unpacking (0) | 2021.10.09 |
[Python] 파이썬을 파이썬 답게 시작 (0) | 2021.10.09 |
[Python] 상속, list, dict comprehension (0) | 2021.10.08 |
댓글