TIL 블로그를 미루고 미루다가 기한을 놓쳤다. 다음부터는 미리미리 쓰도록 신경써야겠다.
오늘 푼 문제는 백준 2292번 벌집이다. 문제는 아래와 같다.
이 문제는 중앙값 1이 다른 숫자들과의 거리를 구하는 문제이다. 여기서 먼저 패턴을 찾아볼 수 있었는데,
문제 속 패턴
2번~7번: 6개 2번 이동
8번~19번: 12개 3번 이동
20번~37번:18개 4번 이동
바같으로 나갈때마다 6*i 패턴을 볼 수 있었다. 그리고 최소 이동 거리는 2이므로(1 제외) 다음과 같은 코드를 짤 수 가 있었다.
#include
using namespace std;
int main() {
int num;
cin >> num;
int i = 0;
for(int sum=2; sum <= num; i++)
sum += 6*i;
if(num == 1) i=1;
cout << i;
return 0;
}
패턴을 이해한다면 충분히 풀 수 있는 문제였던것 같다.