알고리즘 문제 풀이: 파이썬/BOJ

[BOJ_1072] 게임

hueco 2022. 6. 11.

 

📌 문제 링크: https://www.acmicpc.net/problem/1072

 

1072번: 게임

김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시

www.acmicpc.net

 

내 풀이(Success) :

 

🧐 Review:

  - 승률 Z가 절대 변하지 않는 경우는 Z가 100%와 99%인 경우이다. 처음 문제를 접근했을 때는 100%만 해당하는 줄 알았는데 '질문 답변 게시판'을 보고 99%도 포함한다는 것을 배웠다.

 - 승률을 계산할 때 주의해야 하는 문제이다. 승률 계산을 위해 단순히 y을 x로 나누고, 100을 곱한 뒤, 소수점 이하 자리를 버리는 식으로 승률을 계산한다면 올바른 승률을 구할 수 없다.

 - 따라서 내 코드처럼 100을 먼저 곱한 뒤에 나눠주거나, 파이썬의 decimal 라이브러리를 사용해야 한다.

 - 해당 이유는 파이썬의 기본 타입인 float가 소수를 내부적으로 이진수의 형태로 저장하기 때문이다. 관련된 내용을 Reference의 링크로 첨부했다.

 

🏷️ Reference:

 - https://docs.python.org/ko/3/library/decimal.html

 - https://www.daleseo.com/python-float-decimal/

 

'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글

[BOJ_11286] 절댓값 힙  (0) 2022.06.14
[BOJ_1927] 최소 힙  (0) 2022.06.14
[BOJ_20551] Sort 마스터 배지훈의 후계자  (0) 2022.06.11
[BOJ_4158] CD  (0) 2022.06.10
[BOJ_10815] 숫자 카드  (0) 2022.06.07

댓글