알고리즘 정복하기!/백준 문제풀이

백준 2292번 Python / Math

by seokii 2022. 2. 9.
728x90
반응형

문제 링크

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

 

2292번: 벌집

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

www.acmicpc.net

 

 

풀이

n = int(input())
cnt = 1
multi_six = 6
answer = 1

while n > cnt:
    answer += 1
    cnt += multi_six
    multi_six += 6

print(answer)

지나가는 방의 횟수가

1번인 수 = 1 (1개)

2번인 수 = 2, 3, 4, 5, 6, 7 (6개)

3번인 수 = 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 (12개)

4번인 수 = 20~37 (18개)

...

 

방의 횟수가 1 증가할 때마다 해당 횟수에 포함되는 숫자의 개수도 6개씩 늘어나게 된다.

따라서 초기값 1에서 6, 12, 18 .. 이런 식으로 더해주며 횟수를 세면 된다.

 

 

728x90
반응형

'알고리즘 정복하기! > 백준 문제풀이' 카테고리의 다른 글

백준 10870번 Python / Math  (0) 2022.02.10
백준 1712번 Python / Math  (0) 2022.02.09
백준 1978번 Python / Math  (0) 2022.02.08
백준 10872번 Python / Math  (0) 2022.02.08
백준 2908번 Python / Math  (0) 2022.02.08

댓글