Python Operator Sequence Dependency / 파이썬 연산자 순서 의존성 [백준 Q1072]

Hyeong·2021년 7월 6일
0

Algorithm

목록 보기
4/4

두 코드의 차이가 보이는가?

>>> math.floor(100*29/50)
58
>>> math.floor(29/50*100)
57
>>> 29/50
57.9999999999999999

직관적으로 봤을 때 위 코드의 결과는 차이가 없어야 한다. 차이가 생기는 이유는 float 자료형이 데이터를 완전히 정확하게 저장할 수 없기 때문이다. 연산자의 순서에 따라 결과가 달라짐을 고려해서 코딩을 해야한다. 이것이 문제가 되는 대표적인 문제가 백준 Q1072이다. 문제 관련 질문을 보면 해당 문제에 관한 추가적인 토론을 볼 수 있다.

profile
Systemic knowledge on programming, economics, and statistics

0개의 댓글