logweft.

PY-L3-091 / 정확성과 성능

부동소수점 오차 수정

중급

문제

십진 금액 문자열 리스트 amounts를 정확하게 합산하여 소수점 두 자리 문자열로 반환하세요. 각 입력은 소수점 이하 두 자리 이내입니다.

solve(*args) 함수에서 값을 반환하세요. print 출력은 정답 판정에 사용하지 않습니다.

입출력 예시

예제 1
입력: [["0.1","0.2"]]
반환: "0.30"
예제 2
입력: [[]]
반환: "0.00"
힌트

float를 거치지 않고 문자열에서 Decimal을 만드세요.

해설·정답 보기

십진 문자열로 Decimal을 만들면 이진 부동소수 오차를 피합니다. 출력 형식을 두 자리로 맞춥니다.

from decimal import Decimal
def solve(amounts):
    total = sum((Decimal(x) for x in amounts), Decimal('0'))
    return format(total, '.2f')
모르는 문법은 코드 사전에서 ↗
solution.py결과 비교

코드는 이 브라우저에 자동 저장돼요.

풀이 결과

코드를 작성하고 채점하기를 눌러보세요.

    학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.

    어떤 기록을 찾으세요?

    키워드를 입력하면 기록을 찾아드려요.