문제
오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 N바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?”
혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는 4바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 8바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 4바이트씩 저장할 수 있는 공간이 늘어나는 걸까? 분명 long long long int는 12바이트, long long long long int는 16바이트까지 저장할 수 있는 정수 자료형일 거야!” 그렇게 혜아는 당황하는 면접관의 얼굴을 뒤로한 채 칠판에 정수 자료형을 써 내려가기 시작했다.
혜아가 N바이트 정수까지 저장할 수 있다고 생각해서 칠판에 쓴 정수 자료형의 이름은 무엇일까?

조건 및 입출력
1. 첫 번째 줄에는 문제의 정수 N이 주어진다. (4≤N≤1000; N은 4의 배수)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int type;
scanf("%d", &type);
int rept = type / 4;
for (int i = 0; i < rept; i++)
printf("long ");
printf("int");
return 0;
}
풀이 과정
4로 나눠 떨어짐이 보장되므로, 반복횟수는 4로 나눴을 때의 몫만큼 반복하면 된다.
반복은 "long "을 해주면 되고, 반복이 끝나면 int를 붙여 출력하면 된다.
여담
백준 돌아다니다보니, 제목에 이끌려 문제를 접하게 되었다.
상당히 재밌는 문제다 ㅋㅋ
헤아의 심정을 살짝 알 것 같기도 하다.
파이썬은 자료형이 4개인 반면에, C는 정수형만 자료형이 4개이니...(unsigned 제외)
| 코드가 이상하거나, 이해되지 않는 부분은 댓글 남겨주세요! + 더 좋은 풀이 방법이 있다면 알려주세요! :) |
'Programming > C언어' 카테고리의 다른 글
| [백준] 10093번 : 숫자 (C언어 / C99) (0) | 2023.01.25 |
|---|---|
| [백준] 2875번 : 대회 or 인턴 (C언어 / C99) (0) | 2023.01.23 |
| [백준] 19532번 : 수학은 비대면강의입니다 (C언어 / C99) (0) | 2023.01.21 |
| [백준] 2355번 : 시그마 (C언어 / C99) (0) | 2023.01.20 |
| [백준] 11050번 : 이항 계수 1 (C언어 / C99) (0) | 2023.01.17 |