숫자만 추출/Python/파이썬/탐색/시뮬레이션

heeee·2021년 1월 17일
0

algorithm

목록 보기
54/123

💡문제

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

입력

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

출력

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


예제입력

g0en2Ts8eSoft

예제출력

28
6

📖내가 작성한 code

#약수의 개수 구하는 함수
def divisor_cnt(x):
    cnt=0
    for i in range(1,x+1):
        if x%i==0:
            cnt+=1
    return cnt

s=input()
res=0

for x in s:
    if x.isdecimal():
        res=res*10+int(x)
print(res)
print(divisor_cnt(res))

👩

숫자 판별 함수

  • isdigit() : 해당 문자열이 숫자로 이루어져 있는지 검사
  • isdecimal() : 해당 문자열이 0-9까지의 수로 이루어져있는지 검사
    int로 바로 변환할 수 있으면 True
  • isnumeric() : 수로 볼 수 있는 경우 True

0개의 댓글