반응형
Approach
출처: https://www.acmicpc.net/problem/2292
벌집에 새겨져 있는 숫자 규칙을 분석하면
필요한 최소 이동횟수를 다음과 같이 구분할 수 있다.
• [1]: 1
• [2]: 2 3 4 5 6 7
• [3]: 8 9 10 11 12 ... 19
• [4]: 20 21 22 23 ... 37
• [5]: 38 39 40 41 ... 61
각 껍데기(?)별로 증가하는 개수
▶ 1 → 6 → 12 → 18 → ...
N이 주어졌을 때 몇 겹에 해당되는지 계산해보면 된다.
#include <iostream>
using namespace std;
int N, ans, cnt, sum;
int main()
{
// freopen("input.txt", "r", stdin);
scanf("%d", &N);
ans = 1;
if (N == 1)
{
printf("%d\n", ans);
return 0;
}
sum = 2;
while (1)
{
sum = sum + (6 * cnt);
if (N < sum) break;
cnt++;
}
ans = ans + cnt;
printf("%d\n", ans);
}
반응형
'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글
[BOJ] 백준 2475 검증수 (0) | 2022.01.05 |
---|---|
[BOJ] 백준 2455 지능형 기차 (0) | 2022.01.04 |
[BOJ] 백준 2164 카드2 (0) | 2021.12.27 |
[BOJ] 백준 2163 초콜릿 자르기 (0) | 2021.12.24 |
[BOJ] 백준 2003 수들의 합 2 (0) | 2021.12.23 |
댓글