Baekjoon Online Judge
문제
메이플스토리 몬스터는 방어율 수치가 있습니다. 이 방어율 수치의 일정 %를 무시하는 것을 방무라고 합니다. 유저는 아이템을 사거나, 특정한 스킬 레벨을 올려서 방무 수치를 올릴 수 있습니다. 그렇게 해서, 유저가 체감하는 몬스터의 방어율 수치를 낮출 수 있습니다. 몬스터의 방어율이 200이고, 유저의 방무가 20이라면, 몬스터의 방어율 200의 20%를 무시하게 되므로, 40만큼 무시하게 됩니다. 즉, 160이 유저가 체감하는 방어율 수치가 됩니다.
유저가 체감하는 몬스터의 방어율 수치가 100보다 크거나 같으면 몬스터에게 대미지를 줄 수 없습니다. 몬스터의 방어율 수치를 a, 유저의 방무를 b라고 할 때, 유저가 몬스터에게 대미지를 줄 수 있는지 없는지 알려주세요.
입력
첫 번째 줄에 정수 a와 b가 공백으로 구분되어 주어집니다.
출력
몬스터에게 대미지를 줄 수 있으면 1, 그렇지 않으면 0을 출력해 주세요.
제한
- 0 ≤ a ≤ 500
- 0 ≤ b ≤ 100
예제 입력 | 예제 출력 |
200 20 | 0 |
90 0 | 1 |
336 71 | 1 |
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt(); // 몬스터의 방어율 수치
int b = in.nextInt(); // 유저의 방무
if (a * (100 - b) < 10000)
System.out.println("1");
else
System.out.println("0");
}
}
소수의 경우 부동소수점을 사용하는데, 이 방법은 정확한 소수 대신 그 소수의 근사값을 표현한다. 소수를 정확하게 표현하지 못하기 때문에 소수의 계산에 오류가 발생할 수 있으므로 양쪽의 식에 100을 곱해서 소수 단위로 계산되지 않게끔 했다.
a * (100 - b) / 100 < 100 -> a * (100 - b) < 10000
'백준 > JAVA' 카테고리의 다른 글
[Baekjoon/JAVA] 25311번 - UCPC에서 가장 쉬운 문제 번호는? (1) | 2022.09.11 |
---|---|
[Baekjoon/JAVA] 25304번 - 영수증 (0) | 2022.09.11 |
[Baekjoon/JAVA] 20492번 - 세금 (0) | 2022.09.04 |
[Baekjoon/JAVA] 16394번 - 홍익대학교 (0) | 2022.09.02 |
[Baekjoon/JAVA] 16170번 - 오늘의 날짜는? (0) | 2022.09.02 |