ABOUT ME

Today
Yesterday
Total
  • section3.2 숫자만 추출
    알고리즘 2022. 10. 25. 19:17

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

     

     

    # 아스키코드 확인해서 이용하기
    # 65 ~ 90, ord("A")
    # 97 ~ 122, ord("a")
    # 48 ~ 57
    
    import sys
    #sys.stdin = open("input.txt", "rt")
    n = input()
    num = ''
    
    def divisorNum(x):
        cnt = 0
        for i in range(1, x+1):
            if (x % i == 0):
                cnt += 1
        return cnt
    
    for i in range(len(n)):
        if 48 <= ord(n[i]) and ord(n[i]) <= 57:
            num += n[i]
    num = int(num)
    
    print(num)
    print(divisorNum(num))

     

    아스키코드를 이용해서 풀었고 정답이었다

     

    import sys
    #sys.stdin = open("input.txt", "rt")
    s = input()
    res = 0
    cnt = 0
    
    for x in s:
        if x.isdecimal():
            res = res*10 + int(x)
    print(res)
    
    for i in range(1, res+1):
        if res%i==0:
            cnt += 1
    print(cnt)

     

    isdecimal 이라는 함수를 이용하면 아스키코드를 없이도 가능하다

     

     

     

    파이썬 isdecimal

    isdigit() 함수는 글자가 숫자 모양이면 무조건 True 반환

    isdecimal() 함수는 주어진 문자열이 int형으로 반환 여부를 알아내는 함수이기 때문에 특수문자 중 숫자모양은 숫자가 아니다

    그렇게 중요한 것 같지는 않지만... 숫자인지 확인할 때는 편리한 것 같다

     

    파이썬 decimal 모듈

    십진법 모듈에서는 Decimal 이용하면 실수로 표현 가능하다

    Decimal의 value로는 정수, 문자열, 튜플, decimal 객체를 인자로 받아 생성된다

    https://m.blog.naver.com/dudwo567890/130165293039

     

    (decimal에 대해 찾다보니 추가)

    decimal > 고정소수점 > 정수와 소수를 표현하는 비트 수를 미리 정하고 이에 맞춰 표현

    float > 부동소수점 > 10진수를 2진수로 변환한 다음에 정규화

    decimal은 메모리를 많이 사용하여 정확성을 향상한다

    상황에 맞게 float과 decimal 사용

     

     

    728x90

    '알고리즘' 카테고리의 다른 글

    section3.4 두 리스트 합치기  (0) 2022.10.26
    section3.3 카드 역배치  (0) 2022.10.26
    section3.1 회문 문자열 검사  (1) 2022.10.25
    section2.10 점수 계산  (1) 2022.10.25
    section2.9 주사위 게임  (0) 2022.10.25
Designed by Tistory.