문제
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
실행 결과
코드(Python)
str= input().split(" ")
a, b = int(str[0]), int(str[1])
# 정수 부분
result_1 = a // b
# 소수 부분
result_2 = a % b
# 소숫점 앞자리
result = repr(result_1)+ "."
for i in range(20):
result_2 *= 10
n = result_2 // b
result += repr(n)
result_2 = result_2 % b
print(result)
코드 설명
소숫점 출력을 21자리까지 해야하는데 사칙 연산 및 문자열을 이용하는 문제이다.
먼저 정수 부분과 소수 부분으로 숫자를 분리하고, 초등학교 때 배우는 나누기 방식처럼 소수 부분에 10배를 곱한 후 몫으로 다시 나누는 방식으로 다시 나머지를 업데이트하여 정수 부분 뒤에 덧붙인다.
번째 자리까지 format을 이용하여 한 번에 출력하는 방식이 아니라 한 자리씩 나눠가면서 문자열을 더해야 한다.
이때 int 형을 string 형으로 바꾸기 위해서 repr() 함수를 이용한다.
처음 받는 입력을 str이라는 이름으로 사용했기 때문에 str() 함수는 사용하지 못했으나,input_str처럼 변수 이름을 바꾸면 str() 함수도 사용 가능하다!
'PS' 카테고리의 다른 글
[코드트리] Date to Date (0) | 2024.06.20 |
---|---|
[코드트리] 객체 정렬 / 정렬된 숫자 위치 알아내기 (0) | 2024.06.19 |
코드트리: 오름차순과 내림차순 정렬 (0) | 2024.05.31 |
코드트리: 큰 숫자 자리수의 합 (0) | 2024.05.28 |
코드트리: 재귀함수의 꽃 (0) | 2024.05.18 |