백준(C언어)/22년 7월

7월 29일(금) - 7단계(2292번 *실패)

C0MPAS 2022. 7. 29. 23:56

7단계 - 2292번

 

2292번: 벌집

위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌

www.acmicpc.net

 

문제점

1. 2부터 7을 입력시 2가 출력됨 / 8부터 13을 입력시 3이 출력됨 / 하지만 14부터 4가 출력됨

 

풀이

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)

#include <stdio.h>

int main(void)
{
	//1 2~7 8~19 20~37
	/*
	[1]1
	[2]234567 ->6개                            (2+0 ~ 1+6) 
	[3]8910111213141516161819 -> 12개          (2+6 ~ 1+18)
	[4]202121 ---                3637 -> 18개  (2+18 ~ 1+36)
	[5]383940                      6061 -> 24개(2+36 ~ 1+60)
	[6]62 ~
	*/

	int n;
	int i = 1;

	int count = 1;
	int start = 2;
	//int end = 7;
	scanf("%d", &n);

	if (n == 1)
	{
		count = 1;
	}
	while (1)
	{
		int i = 1;
		count++;
		if (start <= n && n < start + (6 * i))
		{
			printf("%d", count);
			break;
		}
		else 
		{
			start = start + 6*i;
			i++;
		}
	}

	return 0;
}

 

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