코딩은 체육과목 입니다

문제 링크

코딩은 체육과목 입니다

분석

입력으로 정수 $N$이 주어지는데, 해당 정수는 바이트 단위의 메모리 크기를 의미합니다.
이때, 입력 값 만큼의 크기에 대한 정수를 저장하고자 한다면 어떤 자료구조를 사용해야하는지 이름을 반환하는 문제입니다.

해당 문제에서는 int 앞에 long을 붙였을 때 1개당 사용할 메모리의 크기가 4바이트씩 크기가 증가한다고 가정합니다.

즉, 다음과 같습니다.

  • int 4바이트
  • long int 8바이트
  • long long int 12바이트

따라서 $N$ 바이트를 표현하려면 4바이트 단위로 몇 번 long을 붙여야하는지 구하면 됩니다.

횟수로는 $\frac {N}{4}$가 되며, 마지막에 int를 붙이면 됩니다.

풀이

#include <iostream>

using namespace std;

int main()
{
	int n;

	cin >> n;

	for (int i = 4; i <= n; n -= i)
	{
		cout << "long ";
	}

	cout << "int";
}

성능 요약

시간 복잡도는 $O(n)$입니다.

  • 반복문 $O(n \div 4) \approx O(n)$

공간 복잡도는 고정된 크기의 상수 공간을 사용하기 때문에 $O(1)$입니다.

메모리: 2020 KB

시간: 0 ms

Date:     Updated:

카테고리:

태그:

Baekjoon 카테고리 내 다른 글 보러가기

댓글남기기