Python(알고리즘,문제풀이)/BOJ (Bronze IV)
백준 4696번 / St. Ives - 파이썬
박혀노
2023. 7. 30. 09:51
728x90
📚문제
📝풀이
# 4696 St. Ives
while True:
n = float(input())
if n !=0:
cnt = 0
if n != 0:
for i in range(5):
cnt += (n**i)
if str(cnt)[-1]=='0':
print(f'{cnt:.2f}')
else:
print(round(cnt,2))
else:
break
문제에서 가끔 입력이 float로 주어지고,
소수점 아래 첫 번째 자리까지 밖에 나오지 않는 값을
소수점 아래 두 번째 자리까지 출력해야되는 경우가 있다
(ex 2801.0 => 2801.00)
이럴 때 보통 str로 변환 후 '0'을 붙여준 다음에 다시 숫자 형태로 변환해줬다
근데 문자열로 출력되도 상관없는 경우면 모르겠지만
숫자형으로 출력해야할 경우
float( 값 ) 하면 다시 2801.0으로 돌아온다
이 때 , f-string을 사용하여 답의 포맷을 .2f (문제에서 요구하는 자릿수까지) 형태로 변경시켜주면 간단하다
728x90