diff --git a/workbook_8708/2292-b2.py b/workbook_8708/2292-b2.py new file mode 100644 index 0000000..d3a64a0 --- /dev/null +++ b/workbook_8708/2292-b2.py @@ -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이다. +""" \ No newline at end of file