Tiny Middle Finger

백준(Baekjoon)/3. 반복문

Baekjoon(백준) 단계별로 풀어보기/ 백준 도장깨기/ 3반복문/3-5 코딩은 체육과목 입니다/백준브론즈5/백준25314번 답

니 성적 C 2023. 12. 8. 20:55
728x90
반응형

_25314

문제

오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 N바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?”

혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int 4바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int 8바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 4바이트씩 저장할 수 있는 공간이 늘어나는 걸까? 분명 long long long int 12바이트, long long long long int 16바이트까지 저장할 수 있는 정수 자료형일 거야!” 그렇게 혜아는 당황하는 면접관의 얼굴을 뒤로한 채 칠판에 정수 자료형을 써 내려가기 시작했다.

혜아가 N 바이트 정수까지 저장할 수 있다고 생각해서 칠판에 쓴 정수 자료형의 이름은 무엇일까?

입력

첫 번째 줄에는 문제의 정수 이 주어진다. (4≤ N ≤1000; N  4의 배수)

출력

혜아가 N 바이트 정수까지 저장할 수 있다고 생각하는 정수 자료형의 이름을 출력하여라.

 

내 제출 코드

#include<stdio.h>

int main() {
     int n, a, i;
     scanf("%d", &n);
     a = n / 4;

     for (i = 0; i < a; i++) {
          printf("long ");
     }
     printf("int");
}

해설

#include<stdio.h>  // 전처리기로 stdio 헤더 파일 가져옴(standard input output)

int main() {  //메인 함수는 시작점! 하나의 프로그램에서 메인 함수는 단 하나여야한다.
     int n, a, i;  // 정수 n, a, i 선언. n은 입력받을 정수 N, a는 N을 4로 나눈 몫으로 long의 개수를 알려줌. i는 반복문을 위한 변수.
     scanf("%d", &n); // n값 입력받기. scanf로 정수 받아오기:%d 형식지정사 사용. scanf 로 받아올 아이는 주소 값. &꼭 필요!
     a = n / 4; // n을 4로 나눈 몫, 써야할 long의 개수 알 수 있음. 

     for (i = 0; i < a; i++) { //for문으로 long의 개수 만큼 long 출력. 뒤에 띄어쓰기 꼭 붙이기!
          printf("long "); //long 출력. 출력 예시에 long 뒤에 띄어쓰기가 있으므로 꼭! 띄어쓰기 해주기!!
     }
     printf("int"); // 마지막 int 붙여야함!
}
728x90
반응형