#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만큼 늘어나는 등차수열을 생각하며 풀면 쉽다.

 

문제 :

https://www.acmicpc.net/problem/2292

'문제풀이 > 백준' 카테고리의 다른 글

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

+ Recent posts