• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

숫자만 추출

20.06.02 13:12 작성 조회수 145

0

from re import findall

s=input()

a= findall("[0-9]+",s)

res=0

for i in a:

    b=int(i)

    res=res*10+b

print(res)

count=0

for i in range(1,res+1):

    if res%i==0:

        count+=1

print(count)

마지막에서 오류가 나는데 이유가 뭔가요ㅜㅠ

답변 3

·

답변을 작성해보세요.

0

제 컴퓨터에서는 정상적으로 채점되는 코드입니다.

0

import sys

sys.stdin = open("input.txt", "rt")

s = input()

size = len(s)

a = []

for i in range(size):

    if '0' <= s[i] and s[i] <= '9':

        a.append(int(s[i]))

sum = 0  

for j in range(0,len(a)):

    sum *= 10

    sum += a[j]

cnt = 1

for m in range(2, sum+1):

    if sum%m == 0:

        cnt += 1

print(sum,cnt,sep='\n')

    

  //

채점기에서 exit_code_1 오류가 나는 이유를 잘 모르겠습니다

0

문제의 의도는 ag1ag2ag45dg 가 입력되면 리스트에 ["1", "2", "4", "5"] 이렇게 추출해서 1245라는 자연수를 만드는 것입니다.

findall 함수는 위에 코드대로라면 0123456789로 이루어진 substring을 리스트로 돌려줍니다. 결과는 ["1", "2", "45"]로 추출됩니다. 이것을 자연수화 하면 165가 되어 버립니다.