문제 링크입니다: https://www.acmicpc.net/problem/2292
주어진 그림을 보면 쉽게 풀 수 있는 문제였습니다.
규칙은 아래와 같습니다.
a. 1번에서 시작합니다.
b. 2~7은 2번에 걸쳐 갈 수 있습니다. (6)
c. 8~19는 3번에 걸쳐 갈 수 있습니다. (12)
d. 20~37은 4번에 걸쳐 갈 수 있습니다. (18)
e. 38~61은 5번에 걸쳐 갈 수 있습니다. (24)
...
결국, 범위가 6씩 증가하는 등차수열이기 때문에 반복문을 통해 간단하게 풀 수 있는 문제였습니다.
#include <iostream>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(0);
cin.tie(0); //cin 실행속도 향상
int N;
cin >> N;
int cur = 1;
int result = 1;
int inc = 6;
while (1)
{
if (N <= cur)
break;
result++;
cur += inc;
inc += 6;
}
cout << result << "\n";
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
'알고리즘 > BOJ' 카테고리의 다른 글
백준 2675번 문자열 반복 (0) | 2018.08.28 |
---|---|
백준 6064번 카잉 달력 (6) | 2018.08.28 |
백준 11721번 열 개씩 끊어 출력하기 (0) | 2018.08.28 |
백준 10818번 최소, 최대 (0) | 2018.08.28 |
백준 5919번 Hay Bales (1) | 2018.08.28 |