728x90
반응형

문제 : 

문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만
듭니다. 만들어진 자연수와 그 자연수의 약수 개수를 출력합니다.
만약 “t0e0a1c2h0er”에서 숫자만 추출하면 0, 0, 1, 2, 0이고 이것을 자연수를 만들면 120이
됩니다. 즉 첫 자리 0은 자연수화 할 때 무시합니다. 출력은 120를 출력하고, 다음 줄에 120
의 약수의 개수를 출력하면 됩니다.
추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다.

 

입력

첫 줄에 숫자가 썩인 문자열이 주어집니다. 문자열의 길이는 50을 넘지 않습니다.

 

출력

첫 줄에 자연수를 출력하고, 두 번째 줄에 약수의 개수를 출력합니다.




입력 예시

g0en2Ts8eSoft

출력 예시

28
6

 

 

코드 : 

# 숫자만 추출 
# 출력 1. 추출한 숫자, 2. 추출한 숫자의 약수의 개수

import sys

arr = sys.stdin.readline().strip()

number = []
cnt = 0

# 숫자인지 판단하고 숫자면 number 리스트에 넣기
for x in arr:
    if x.isdecimal():
        number.append(x)
    else:
        continue


number = ''.join(map(str, number)) # 리스트 한 변수값으로 합치기 
number = int(number) # 앞에 00120 str형 전부 int형으로 변경

for x in range(1, number+1):
    if number%x ==0:
        cnt += 1

print(number, cnt, sep="\n")

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기