폴더 분리
This commit is contained in:
27
workbook_8708/bronze/2292-b2.py
Normal file
27
workbook_8708/bronze/2292-b2.py
Normal file
@@ -0,0 +1,27 @@
|
||||
# 벌집
|
||||
|
||||
import sys
|
||||
from math import ceil, sqrt
|
||||
|
||||
input = sys.stdin.readline
|
||||
|
||||
def solution():
|
||||
n = int(input().rstrip())
|
||||
print(ceil(((sqrt(1+(4/3)*(n-1)))-1)/2)+1)
|
||||
return
|
||||
|
||||
|
||||
solution()
|
||||
|
||||
|
||||
|
||||
"""
|
||||
걸린 시간: 50분..(키보드로 식 계산하려다 보니 헷갈림)
|
||||
|
||||
해설: 6*1, 6*2, 6*3, 6*4 ... 겉껍질의 개수가 이렇게 증가하는데 몇 번째 껍질에 있느냐가 1에서 그 방까지
|
||||
도달에 필요한 개수이다.
|
||||
1 7 19 37 61 => 0 6 18 36 60=> 0 1 3 6 10 => n <= 6k(k+1)/2 + 1
|
||||
k^2 + k - (n-1)/3 = 0을 만족하는 값 k보다 크거나 같은 정수를 구하면 된다.
|
||||
result = ceil(((sqrt(1+(4/3)*(n-1)))-1)/2)
|
||||
k번째 껍질에 있다는 뜻이고, 1이 있는 곳을 0번째 껍질이라고 가정하고 계산했기 때문에 답은 result+1이다.
|
||||
"""
|
||||
Reference in New Issue
Block a user