홈 AtCoder ABC 237 A — Not Overflow
글
취소

AtCoder ABC 237 A — Not Overflow

문제: AtCoder ABC 237 A — Not Overflow English · [한국어] · 日本語

입력값은 32비트 부호 있는 정수의 범위보다 클 수 있으므로 long으로 읽어야 합니다. 32비트 부호 있는 정수의 범위는 Integer.MIN_VALUE(-2^31)부터 Integer.MAX_VALUE(2^31 - 1)까지이며 양 끝값도 포함됩니다. long으로 읽은 값을 두 경계와 비교해 이 범위 안에 있으면 Yes, 아니면 No를 출력합니다. 양 끝값을 포함하는 비교를 사용하므로 경계값은 받아들이고, 범위 바로 바깥의 값은 거부합니다.

Java

1
2
3
4
5
6
7
8
9
10
11
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
        long value = Long.parseLong(input.readLine().trim());
        System.out.println(Integer.MIN_VALUE <= value && value <= Integer.MAX_VALUE ? "Yes" : "No");
    }
}
이 글은 저자가 CC BY 4.0 라이선스로 배포합니다.