백준 15792번 파이썬 코드 답안

    문제

     

     

    파이썬 코드 답안

    #초기 답안
    #변수가 많이 선언되어있음
    #변수 줄일 때 고민한 것
    #소수점은 (나머지*10 // b)의 값이 하나씩 들어가는 형태임. 
    #그런 이유 때문에 몫을 항상 기억할 변수가 필요하지 않음.
    #항상 기억해야할 것은 나머지 값임. 
    
    a,b = map(int,input().split())
    output = str(a//b) + '.'
    c = a//b #항상 기억하지 않아도 되니 소거 가능
    d = a%b * 10 # 항상 기억되어야 하는 것은 b값임. a값은 한번 사용하고 난 다음부터 사용하지 않음. 따라서 a로 단순화 가능
    
    
    for i in range(1000) :
        c = d // b  #항상 기억하지 않아도 되니 소거 가능
        d = d % b * 10
        output += str(c) #d*10//b 값이 들어가야 하는데, 이 경우 이미 d값이 변하고 난 다음에 들어가기 때문에 값이 이상함. d 연산하기 전에 앞으로 옮겨줘야함.
        i += 1
    
    print(output)
    
    
    
    #다른 블로거님 답안
    #변수 최소화됨
    A, B = map(int, input().split())
    
    result = (str(A//B)+".")
    A = (A % B) * 10
    
    for _ in range(1000): #계속 10씩 곱해주면서 몫을 뒤에 붙여줌
        result += str(A // B)
        A = (A % B) * 10
        
    print(result)

     

    'CS > BOJ' 카테고리의 다른 글

    백준 14681번 파이썬 코드  (0) 2021.03.21
    백준 2753 파이썬 코드 답안  (0) 2021.03.21
    백준 11022번 파이썬 코드 답안  (0) 2021.03.21
    백준 11021번 파이썬 코드 답안  (0) 2021.03.21
    백준 10953번 파이썬 코드 답안  (0) 2021.03.21

    댓글

    Designed by JB FACTORY