#include <iostream>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int num;
cin >> num;
if (num == 1) {
cout << 1 << '\n';
return 0;
}
int sum = 0;
for (int i = 1; ; i++) {
sum += 6 * i;
if (num <= sum + 1) {
cout << i + 1 << '\n';
return 0;
}
}
return 0;
}
쉽게 풀기 위해서 1은 예외처리해두었다.
방의 개수는 n <= 1+6; -> 2개
n <= 1+6+12 -> 3개
n <= 1+6+12+18 -> 4개
위의 규칙으로 방의 갯수는 정해진다.
6만큼 늘어나는 등차수열을 생각하며 풀면 쉽다.
문제 :
'문제풀이 > 백준' 카테고리의 다른 글
2798 - 블랙잭 (0) | 2021.08.28 |
---|---|
1193 - 분수찾기 (0) | 2021.08.24 |
2839 - 설탕 배달 (0) | 2021.08.24 |
1712 - 손익분기점 (0) | 2021.08.24 |
2941 - 크로아티아 알파벳 (0) | 2021.08.24 |