728x90
반응형
문제와 힌트에 주어진 조건으로 함
def explode(n): # 인자로 전달 받은 영의 정수 뒤집어 역순 목록을 반환하는 함수
lst = [] # 반환할 목록 리스트 변수
while n > 0: # n을 10으로 나누어 줄여나가기 때문에 n > 0 면 반복 수행
tmp = n % 10 # n 을 10으로 나누어 나머지. 1234 일떄 4가 됨
n = n // 10 # n 을 10으로 나누어 몫. 1234 일때 123 이 됨
lst.append(tmp) # 4,3,2,1 로 lst에 목록으로 추가
return lst # [4, 3, 2, 1]
def reverse(n): # 인자로 전달 받은 영의 정수 뒤집어 반환하는 함수
lst = explode(n) # 정수의 역순 목록을 받아 옴. 1234 -> [4,3,2,1]
reverse_n = 0 # 역순된 정수 변수
for i in range(len(lst)): # 역순 목록(리스트) 요소수 만큼 반복
# [4,3,2,1]일떄 4는 1000 자리가 되어야 함. pop(0)은 리스트 앞 요소를 꺼내오고 삭제 함.
# 그런 후 len(lst) 하면 3 이 되고 10**3 으로 하면 10에 3승이 되어 1000이 됨. 4 * 1000 이 되어 4000이 됨.
# 나머지도 300, 20, 1이 만들어져 계속 reverse_n ㅔ 더해져 역순 정수가 됨
reverse_n += (lst.pop(0) * (10 ** len(lst)))
return reverse_n
n = int(input('정수: '))
rtn = reverse(n) # reverse() 함수 실행
print(rtn) # 결과 출력
일반적으로 간단히 하는 방법
lst = str(1234)
reverse_n = int(lst[::-1])
print(reverse_n)
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 입력한 시간부터 23:59분까지 출력 (for문) (0) | 2024.05.11 |
---|---|
[파이썬] 문제 : 도서관 책 코드 만들기(for문) (0) | 2024.05.10 |
[파이썬] 문제 : 시작,끝,증가값을 입력 받아 합계 구하기 (0) | 2024.05.09 |
[파이썬] 문제 : 버블정렬 코드 채우기 (0) | 2024.04.25 |
[파이썬] 문제 : 딕셔너리 keys(), values() (0) | 2024.04.23 |
댓글