
오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이
바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?”
혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는
바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는
바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다
바이트씩 저장할 수 있는 공간이 늘어나는 걸까? 분명 long long long int는
바이트, long long long long int는
바이트까지 저장할 수 있는 정수 자료형일 거야!” 그렇게 혜아는 당황하는 면접관의 얼굴을 뒤로한 채 칠판에 정수 자료형을 써 내려가기 시작했다.
혜아가
바이트 정수까지 저장할 수 있다고 생각해서 칠판에 쓴 정수 자료형의 이름은 무엇일까?
첫 번째 줄에는 문제의 정수
이 주어진다.
;
은
의 배수
혜아가
바이트 정수까지 저장할 수 있다고 생각하는 정수 자료형의 이름을 출력하여라.
4
long int
20
long long long long long int
일단 입력값이 4로 나눴을 때 1이면 long 1개 이런식으로 접근했고,
입력값을 나눌 때 // 를 사용해야 소수점을 제외한 정수만 추출하는 나눗셈이고, 나같은 경우 배열에 int를 미리 넣어놓고 이후에 반복적으로 for in range를 이용해서 long을 그 배열에 추가하고,
reverse()메서드를 이용해서 인수를 뒤집고 그 이후에 join으로 ' '공백 기준 문자열로 뽑아내서 풀게되었다.
N = int(input())
i = N//4 #소수점 제외 정수 얻기
result = ['int']
for _ in range(i):
result.append('long')
result.reverse()
print(' '.join(result))