문제
원문: www.codeup.kr/problem.php?id=1028
[기초-데이터형] 정수 1개 입력받아 그대로 출력하기2(설명)
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 ��
www.codeup.kr
정수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 정수의 범위는 0 ~ 4,294,967,295 이다.)
참고
-2147483648 ~ +2147483647 범위의 정수를 저장하고 처리하기 위해서는
int 형으로 변수를 선언하면 된다.(int 로 선언하고 %d로 받고 출력)
하지만 이 범위를 넘어가는 정수를 저장하기 위해서는
보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다.
unsigned int 데이터형을 사용하면 0 ~ 4294967295 범위의 정수를 저장할 수 있다.
예시
unsigned int n;
scanf("%u", &n);
printf("%u", n);
입력
정수 1개가 입력된다.
(단, 입력되는 정수의 범위는 0 ~ 4294967295 이다.)
2147483648
출력
입력된 정수를 그대로 출력한다.
2147483648
Java 풀기
이 문제는 입력받은 문자열을 그대로 출력해도 되지만,
본 문제에서는 데이터의 범위를 이해하고 있는지 확인하는 문제이기 때문에, 정수로 타입 변환하여 문제를 풀어본다.
int는 4bytes로 32bits까지 표현 할 수 있다.
32bit로 부호있는 수를 표현하면, -2147483648 ~ 2147483647 까지 표현할 수 있다.
- int의 표현 범위:
-2^31~2^31 - 1
따라서, 8bytes인 Long 형으로 출력해야 함.
Long.parseLong()메소드를 사용한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println(Long.parseLong(br.readLine()));
}
}
채점결과

위 풀이는 직접 풀어보고 채점까지 한 뒤에 확인하여 올린 코드입니다.
궁금한점이나 더 좋은 방법이 있다면 아래 댓글 달아주세요. 감사합니다.
관련 글
CodeUp Java로 기초 100제 풀어보기
문제의 저작권은 'CodeUp'에게 있습니다. 저작권 문제가 있는 경우, 바로 삭제하겠습니다. codeup.kr/index.php CodeUp ☆ 파이썬 다운로드 : 파이썬3 ☆ 무료 C언어 IDE : Code::blocks DEV C++ ☆ 추천 온라인..
memostack.tistory.com
'Algorithm > CodeUp' 카테고리의 다른 글
| CodeUp 1030번 - 정수 1개 입력받아 그대로 출력하기3 (Java 풀이) (0) | 2020.10.19 |
|---|---|
| CodeUp 1029번 - 실수 1개 입력받아 그대로 출력하기2 (Java 풀이) (0) | 2020.10.19 |
| CodeUp 1027번 - 년월일 입력 받아 형식 바꿔 출력하기 (Java 풀이) (0) | 2020.10.18 |
| CodeUp 1026번 - 시분초 입력받아 분만 출력하기 (Java 풀이) (0) | 2020.10.17 |
| CodeUp 1025번 - 정수 1개 입력받아 나누어 출력하기 (Java 풀이) (0) | 2020.10.17 |