숫자만 추출
문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만
듭니다. 만들어진 자연수와 그 자연수의 약수 개수를 출력합니다.
만약 “t0e0a1c2h0er”에서 숫자만 추출하면 0, 0, 1, 2, 0이고 이것을 자연수를 만들면 120이
됩니다. 즉 첫 자리 0은 자연수화 할 때 무시합니다. 출력은 120를 출력하고, 다음 줄에 120
의 약수의 개수를 출력하면 됩니다.
추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다.
입력설명
첫 줄에 숫자가 썩인 문자열이 주어집니다. 문자열의 길이는 50을 넘지 않습니다.
출력설명
첫 줄에 자연수를 출력하고, 두 번째 줄에 약수의 개수를 출력합니다.
입력예제 1
g0en2Ts8eSoft
출력예제 1
28
6
✔ 정답
import sys
#sys.stdin=open("input.txt","rt")
s= input('')
num=0
cnt=0
#문자열이 순서대로
for i in s:
# i가 정수면
if i.isdigit()==True:
#num에 10 곱한 후 i를 더해 정수를 만듬
num=num*10+int(i)
# 1부터 i까지 숫자가
for i in range(1,num+1):
#num을 i로 나누었을 떄 나머지가 없으면 cnt 증가
if num%i==0:
cnt+=1
print(num)
print(cnt)
🤷♀️ 끄적끄적
새로운 함수! isdigit()~!
💖참고
정수인지 판별하는 내장 함수
.isdigit()
'알고리즘 > Python' 카테고리의 다른 글
[파이썬] 두 리스트 합치기 (0) | 2021.08.28 |
---|---|
[파이썬] 카드 역배치 (0) | 2021.08.27 |
[파이썬] 회문 문자열 검사 (0) | 2021.08.27 |
[파이썬] k번째 약수 (0) | 2021.08.27 |
[파이썬] Visual Studio 파이썬 파일 생성 (0) | 2021.08.23 |