[7/5] 2292 (벌집)

이경준·2021년 7월 5일
0

코테

목록 보기
62/140
post-custom-banner

브론즈2 문제

내 코드

n = int(input())

n = n - 2
n = n // 6

i, car = 1, 0
while True:
    
    if ( car > n ):
        print(i)
        break
    
    car = car + i
    i += 1

로직

  • 벌집의 로직은 계차수열이다. ( 2 + ∑ (6 x K) )
  • 계차수열을 거꾸로 계산해서 몫을 구했다.
  • 몫의 수의 따라 계차수열이다. ( ∑K )
    (풀었지만 설명을 못하겠다)

효율적인 코드

n = int(input())
c = 1

while n > 1: # n > 0 이 아닌 n > 1 인 이유는 입력이 1인 경우를 거르기 위해
    n = n - (6 * c)
    c = c + 1
print(c)

피드백

  • 바퀴수를 1씩 증가시키면서, 바퀴만큼의 수를 제거한다.
  • 해당 숫자가 나오면, while문을 종료한다.
profile
The Show Must Go On
post-custom-banner

0개의 댓글