[백준 파이썬 2292번]벌집 ★rfind() , find()함수 활용하기★
2021. 8. 4. 21:28
728x90
반응형
import sys
N = int(sys.stdin.readline())
#2 3 4 5 6 7 ==> 1개(6개의 방)1
#8 9 10 11 12 13 14 15 16 17 18 19 ==>2개(12개의 방)3
#20 ~37 ==>3개(18개의 방)6
#38~61 ==> 4개(24개의 방)10
def func(n):
range1= int((6*n*(n-1)//2) + 2)
#삼각수 잘 활용하기 ==> 한 방에 들어갈 범위 구하기
return range1
k =1
while True:
if func(k)<=N<func(k+1):
#구할 값이 func(k)와 func(k+1)에 있다면
print(k+1)
break
elif N==1:
print(int('1')) #1값은 1이므로 1출력하고 while문에서 벗어난다.
break
else:
#구할 값이 func(k)와 func(k+1)에 없다면 k값을 1 더한다.
k+=1
★★★KEY POINT★★★
삼각수의 규칙 수학 잘 알아보자
1 3 6 10 15 '''' ==> (n(n-1)/2) +1
728x90
반응형
'Python(백준) > 기본 수학 1' 카테고리의 다른 글
[백준 파이썬 2839번]설탕배달★if문 활용 ★VER2.0 (1) | 2022.09.16 |
---|---|
[백준 파이썬 10250번]ACM호텔★올림함수를 이용하여 규칙 차근차근 분석해보기★ (1) | 2022.09.16 |
[백준 파이썬 2869번]달팽이는 올라가고 싶다 ★올림함수를 활용하고 알고리즘 차근차근 분석하기★등차수열과 범위확인★VER2.0 (0) | 2022.09.16 |
[백준 파이썬 1193번]분수찾기 ★계수함수 & 대각선의 길이에 따른 분수의 규칙 이해하기★함수활용★VER2.0 (0) | 2022.09.16 |
[백준 파이썬 1712번]손익분기점★손익분기 잘 이해하기★손익못넘기는거 먼저 파악★VER2.0 (0) | 2022.09.15 |