Koala - 7기/기초 알고리즘 스터디

[백준/JAVA] 15726 이칙연산

5호선파브르구너 2022. 7. 8. 13:08

15726번: 이칙연산 (acmicpc.net)

 

15726번: 이칙연산

첫째 줄에 세 개 정수 A, B, C(1 ≤ A, B, C ≤ 1,000,000)가 주어진다. 답은 int범위를 벗어나지 않는다.

www.acmicpc.net

소스코드

문제 풀이

문제를 봤을 때 굉장히 쉬워보였는데 (수의 순서가 같고, 곱하기와 나누기를 한번씩 사용하기 때문에 어려울 수 없다)

정답 비율이 낮길래 놀랐다.

당연히 처음에는 int 값을 3개 받고 * /, / * 순으로 계산한 값 2개를 비교해서 출력해보았는데 틀렸습니다 라는 결과가 나왔다. 

답은 int 범위를 벗어나지 않는다고 했기 때문에 long을 사용할 필요도 없고 소수점 아래는 버리니까 int형끼리 계산하면 당연히 버려진다고 생각했다. 

근데 출력을 정수형으로 하라고 한것이지, 계산 과정에서 소수점을 버려버리면 정확한 비교 연산이 되지 않을 수 있다. 즉, double로 받고 int로 형변환해서 출력하면 된다. 

간단하게 해결할 수 있었는데 낮은 정답 비율에 겁먹어서 여러 가지 시도를 해보다가 오래 걸린 문제이다.