하루한줄 코딩일기
[인프런 - 파이썬 알고리즘 문제풀이] 3.2 숫자만 추출 본문
섹션 3.2 숫자만 추출
👊 내 문제 풀이
얼마 전 풀었던 카카오 신규 아이디 추천 문제에서 공부한 정규표현식 re.sub()을 활용했다.
숫자(\d)가 아닐(^) 경우 빈 문자열로 치환하여 제거하고, 문자열이 0으로 시작하는 동안 가장 앞의 0을 제거한다.
그 후 최종 숫자와 그의 약수의 개수를 구하여 출력한다.
import re
txt = input()
cnt = 0
txt = re.sub('[^\d]','',txt) #숫자가 아닐 경우 제거
while txt.startswith('0'): #0으로 시작할 경우 제거
txt = txt[1:]
# txt의 약수의 개수 구하기
for i in range (1,int(txt)+1):
if int(txt) % i == 0:
cnt += 1
print(txt, cnt, sep="\n")
채점 결과
💡 강의 해답
문자열의 각 요소를 탐색하며 숫자일 경우 res 변수에 추가한다. (기존 res에 있는 수) * 10 을 한 후에 새 수를 더함으로써 마지막 자릿수에 새 수를 이을 수 있다.
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)
'Algorithm' 카테고리의 다른 글
[인프런 - 파이썬 알고리즘 문제풀이] 3.4 두 리스트 합치기 (0) | 2022.02.07 |
---|---|
[인프런 - 파이썬 알고리즘 문제풀이] 3.3 카드 역배치 (0) | 2022.02.07 |
[인프런 - 파이썬 알고리즘 문제풀이] 3.1 회문 문자열 검사 (0) | 2022.02.07 |
[인프런 - 파이썬 알고리즘 문제풀이] 2.10 점수계산 (0) | 2022.02.07 |
[인프런 - 파이썬 알고리즘 문제풀이] 2.9 주사위 게임 (0) | 2022.02.07 |
Comments