[백준][C++] 25314번 코딩은 체육과목 입니다
코딩은 체육과목 입니다
문제 링크
분석
입력으로 정수 $N$이 주어지는데, 해당 정수는 바이트 단위의 메모리 크기를 의미합니다.
이때, 입력 값 만큼의 크기에 대한 정수를 저장하고자 한다면 어떤 자료구조를 사용해야하는지 이름을 반환하는 문제입니다.
해당 문제에서는 int 앞에 long을 붙였을 때 1개당 사용할 메모리의 크기가 4바이트씩 크기가 증가한다고 가정합니다.
즉, 다음과 같습니다.
int4바이트long int8바이트long long int12바이트
따라서 $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
댓글남기기