[알고리즘] 백준 2292 : 벌집 - B2

eternal moment·2023년 4월 11일
0

2023.04.11 풀이

import sys
input=sys.stdin.readline

n=int(input())

if n!=1:
    n-=1
    i=1
    while n>0:
        n-=i*6
        i+=1
    print(i)
else:
    print(1)

다른 풀이

tar = int(input())
key = 1
for x in range(1,1000000):
    if(tar <= key):
        print(x)
        break;
    key += 6*x

a=int(input())
n=0
while True:
    if a<=(1+3*n*(n+1)):
        print(n+1)
        break
    n+=1

n = int(input())

cnt = 1
i = 1
while cnt<n:
    i+=1
    cnt += (i - 1)*6
print(i)

check point

  • 참고한 다른 풀이들을 보면 더 간단한 구현이 가능하다. 1일때를 따로 체크해주었는데 마지막 풀이와 같이 구현해주는 풀이가 더 좋아보인다.

  • 처음 코테 공부를 시작했을 때 난이도가 브론즈임에도 쩔쩔 맸던 문제로 기억이 난다. 어렵지 않게 풀 수 있어서 그래도 전보다 성장함을 느꼈고 이에 동기부여가 된 것 같다.


0개의 댓글