# string 을 하나씩 출력하기
import sys
sys.stdin=open("input.txt", "r")
# string으로 받는 것
s=input()
#문자열의 문자 하나 하나가 된다.
for x in s:
print(x, end=' ')
문자열이 숫자인지 확인하는 함수
*isdecimal 설명
str.isdecimal()
문자열 내의 모든 문자가 십진수 문자이고 적어도 하나의 문자가 존재하면 True/그렇지 않으면 False 반환
*isdigit 설명
isdigit는 string 클래스에 있는 메서드입니다.
str.isdigit()
문자열이 '숫자'로만 이루어져있는지 확인하는 함수이다.
문자열이 모두 숫자로만 이루어져 있으면 True반환
문자가 하나라도 있으면 False 반환합니다.
*본 문제는 인프런 김태원 강사님의 파이썬 알고리즘 문제풀이 강의에 기반합니다.
문제 점수계산
문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다. 만들어진 자연수와 그 자연수의 약수 개수를 출력한니다.
만약 "t0e0a1c2h0er"에서 숫자만 추출하면 0, 0, 1, 2, 0이고 이것을 자연수를 만들면 120이 됩니다. 즉 첫 자리 0은 자연수화 할 때 무시합니다. 출력은 120을 출력하고, 다음 줄에 120의 약수의 개수를 출력하면 됩니다.
-입력설명
첫 줄에 숫자가 썩인 문자열이 주어집니다. 문자열의 길이는 50을 넘지 않습니다.
-출력설명
첫 줄에 자연수를 출력하고, 두 번째 줄에 약수의 개수를 출력합니다.
-입력예제1
g0en2Ts8eSoft
-출력예제1
28
6
풀이
#숫자화 시키는 방법 (암기하기) -> 최초의 0은 무시한다.
res=res*10+x
여기서는 x 가 문자라서... res=res*10+int(x)
import sys
#sys.stdin=open("input.txt", "r")
# string으로 받는 것
s=input()
res=0
for x in s:
if x.isdecimal():
res=res*10+int(x)
print(res)
#약수 개수 출력
cnt=0
for i in range(1,res+1):
if res%i==0:
cnt+=1
print(cnt)
'알고리즘? > 기본3 탐색&시뮬레이션(string, 1차원 2차원 리스트 탐색)' 카테고리의 다른 글
6. 격자판 최대합 (1) | 2023.05.10 |
---|---|
5. 수들의 합 (0) | 2023.05.09 |
4. 두 리스트 합치기 (0) | 2023.05.09 |
3. 카드 역배치(정올 기출) (pop) (0) | 2023.05.08 |
1. 회문 문자열 검사 (문자열 뒤집기) (0) | 2023.05.08 |