본문 바로가기

Python(알고리즘,문제풀이)/BOJ(Bronze II)

백준 / 2292번 / 벌집 / Python / 수학

728x90

📚문제

출처 : 백준 2292번 (https://www.acmicpc.net/problem/2292)


📝풀이

# 2292번 벌집
n = int(input())
honey_comb = 1
cnt = 1

while n > honey_comb:
    honey_comb += cnt * 6
    cnt += 1
print(cnt)

수학 문제는 문제에서 패턴이나 규칙을 찾아내는 게 중요한것 같다
한 번 보이지 않으면 정말 막막하고 풀이방향이 떠오르지 않는다
💡수학문제 -> 그림이나 표에서 규칙을 잘 찾자

 

벌집의 개수가 1개(1층) -> 7개(2층) -> 19개(3층) ->...로 6의 배수만큼 늘어난다(벌집 1층이 쌓인다 = 횟수가 1 늘어난다)

그리고 벌집의 개수가 늘어난 시점에서의 벌집의 층 수가 

최소 몇 개의 방을 지나가는지의 수다 ( 시작하는 방도 횟수로 포함해야하므로 )

무슨 말이냐면

1) 노란색 -> 1번 움직여서 갈 수 있는 방 ( 총 횟수 2 )

2) 초록색 -> 2번 움직여서 갈 수 있는 방 ( 총 횟수 3 )

3) 파란색 ->3번 움직여서 갈 수 있는 방 ( 총 횟수 4 )

                                      .

                                      .

                                      .

가 된다는 얘기이다

728x90