백준 벌집 C++

박원빈·2024년 4월 22일

알고리즘 🤔

목록 보기
4/26
post-thumbnail


소스코드

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    int result = 0;
    for (int i = 2; i <= n; result++) {
        i += result * 6;
    }
    if (n == 1) {
        result = 1;
    }
    cout << result;
}

문제풀이

처음 노트에 문제를 정리해보며, 각 벌집의 겹마다 6 -> 12 -> 18 -> ... 과 같은 규칙성을 발견했다.
그 후에는 이것을 코드로 어떻게 옮기느냐가 문제였는데,
for 문에는 항상 반복시켜주는 i 를 더해주지 않고, 다른 수도 더해줄 수 있다는 걸 깨닫고
결과를 출력해주는 변수인 result 를 반복문마다 더해주고,
반복시켜주는 i 에는 result * 6 을 더해주어 벌집의 규칙을 정해주었다.
또한 문제를 풀고 난 뒤에 다른 답변들을 돌아보다가 등비수열과 관련한 문제임을 파악했다.

0개의 댓글