728x90
⭐ 문제
중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램
⭐ 코드 분석
1 - 5 - 15 - 31 - 53 이 번호를 시작으로 새로운 칸을 만든다
증가하는 수 : 4+ 10+ 16+ 22+
칸 층을 지날 때마다 6의 배수씩 증가한다.
⭐ 코드
n = int(input())
nums_pileup = 1 # 벌집의 개수, 1개부터 시작
cnt = 1
while n > nums_pileup :
nums_pileup += 6 * cnt # 벌집이 6의 배수로 증가
cnt += 1 # 반복문을 반복하는 횟수
print(cnt)
4가 증가하는 것이 아닌 6까지 2층이므로 cnt * 6을 해도 상관이 없다
'Python > 백준' 카테고리의 다른 글
[python/백준] 1157번: 단어 공부 (0) | 2024.01.15 |
---|---|
[python/백준] 5073번: 삼각형과 세 변 (0) | 2024.01.13 |
[python/백준] 18185번: 라면사기 (small) (0) | 2023.11.28 |
[python/백준] 1956번: 운동 (0) | 2023.11.28 |
[python/백준] 2749번: 피보나치 수 3 (0) | 2023.11.26 |