[ 목차 ]
📢 문제 출처
25314번: 코딩은 체육과목 입니다
오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++
www.acmicpc.net
📢 문제 설명
- 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 $N$바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?”
- 혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는 $4$바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 $8$바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 $4$바이트씩 저장할 수 있는 공간이 늘어나는 걸까? 분명 long long long int는 $12$바이트, long long long long int는 $16$바이트까지 저장할 수 있는 정수 자료형일 거야!” 그렇게 혜아는 당황하는 면접관의 얼굴을 뒤로한 채 칠판에 정수 자료형을 써 내려가기 시작했다.
- 혜아가 $N$바이트 정수까지 저장할 수 있다고 생각해서 칠판에 쓴 정수 자료형의 이름은 무엇일까?
📢 입출력 예시
📢 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
for (int i = 0; i < num / 4; i++) {
System.out.print("long" + " ");
}
System.out.print("int");
}
}
- 문제의 지문이 길지만 한 마디로 요약하면 4의 배수마다 long의 갯수를 늘려서 출력하는 것이다.
- Scanner로 입력을 받아 num에 대입을 해준다.
- 대입을 한 후에 num을 4로 나눈 값으로 반복문을 돌려 해당 반복횟수에 맞게 "long" 이라는 단어를 출력해준다.
- 출력할 때 " " 공백을 필수로 넣어야 하기 때문에 같이 넣는다.
- 반복문이 끝나면 "int"를 출력하여 해당 조건에 맞게 마무리를 짓는다.
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
[Java][백준 24174번] : 알고리즘 수업 - 힙 정렬 2 (0) | 2023.08.12 |
---|---|
[Java][백준 1158번] : 요세푸스 문제 (0) | 2023.08.12 |
[Java][백준 27866번] : 문자와 문자열 (0) | 2023.08.11 |
댓글