본문 바로가기
백준

[백준] 2292번 : 벌집 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 2.
728x90
반응형

 

 

2292번: 벌집

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

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

  1. 방 번호를 입력받는다. N = int(input())
  2. 방의 최대 번호를 저장해 줄 변수를 선언하고 시작 값인 1로 초기화해 준다. num = 1
  3. 방의 개수를 저장해 줄 변수를 선언하고 초기화해 준다. count = 0
  4. 무한 반복문을 활용하여 원하는 시점에서 종료할 수 있도록 구현해 준다. while (True)
  5. 방의 최대 번호에 지나갈 방의 개수에 육각형의 6을 곱해준 값을 더한다. num += count * 6
  6. 벌집의 중앙에서 한 줄씩 넓어질 때마다 각 줄에는 해당 줄의 6배만큼 방의 개수가 존재한다. 따라서 방의 번호는 이전 줄에 현재 줄에 존재하는 방의 개수를 더한 값만큼 존재한다.
  7. 지나갈 방의 개수를 1 증가시킨다. count += 1
  8. 만약 방의 최대 번호가 입력받은 방의 번호보다 크거나 같으면 if (num >= N)
  9. 지나갈 방의 개수를 출력하고 print(count)
  10. 반복문을 종료한다. break
반응형

3. 소스코드

N = int(input())

num = 1
count = 0

while (True):
    num += count * 6
    count += 1
    
    if (num >= N):
        print(count)
        break
728x90
반응형