[브론즈1]백준 1312번 소수 - Python

염쟁이·2021년 1월 8일
0

코딩테스트

목록 보기
7/12

1312번 소수 - Python

사이트 바로가기 : 1312번 소수

문제

피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다.

입력

첫 번째 줄에 A와 B(1≤A, B≤100,000), N(1≤N≤1,000,000)이 공백을 경계로 주어진다.

출력

A÷B를 했을 때, 소숫점 아래 N번째 수를 출력한다.

풀이

A,B,N=map(int, input().split())
A%=B
for i in range(N-1):
    A=(A*10) % B
    
print((A*10) // B)
  • 처음 접근했던 2가지 방법은 런타임 에러를 표시했다.
# 런타임 에러 1
A,B,N=map(int, input().split())
try:
    print(int(str(A/B)[N+1]))
except:
    print(0)
# 런타임 에러 2
A,B,N=map(int, input().split())
print(int(((A/B)*(10**N))%10))

마무리

이번 문제는 많이 오래 걸렸다. 수학적인 부분을 생각하느라.... 런타임에러를 두번 겪고나서 수학적으로 접근하느라 오래걸렸다. 나에겐 좀 어려운 문제인걸루,,

profile
Learning by Doing

0개의 댓글