원문 : https://www.acmicpc.net/problem/2292
지나가야하는 방의 개수 1개 : 1 - 1개
지나가야하는 방의 개수 2개 : 2,3,4,5,6,7 - 6개
지나가야하는 방의 개수 3개 : 8,9,10,11,12,13,14,15,16,17,18,19 - 12개
지나가야하는 방의 개수 4개 : 20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37 - 18개
지나가야하는 방의 개수 5개 : 38 ~ 61 - 24개
방 1개를 거쳐야하는 숫자 1개
방 2개를 거쳐야하는 숫자 6개
방 3개를 거쳐야하는 숫자 12개
방 4개를 거쳐야하는 숫자 18개
방 5개를 거쳐야하는 숫자 24개
_input = 13 # 벌집이 _input개수 (사용자가 입력하는 파라미터)
# bee_house, layer는 루프를 돌면서(탐색하면서) 조건에 맞거나 맞지 않을 경우 상황에 맞게 결과 값에 반영 하도록 함
bee_house = 1 # 첫 벌집이 시작하는 시발점(초기화 벌집 번호)
layer = 1 # layer (1벌집을 레이어 1개, 2~7번 레이어(층) 레이어 2, ... )
# while 루프를 돌면서 _input 개수와 bee_house를 비교
# 유저가 찾고자 하는 특정 벌집이 위치한 layer를 찾을시 벌집 라벨링 번호의 숫자가 현재 할당된(탐색하고 있는) bee_house의 layer를
# layer 변수를 통해 확인 할 수 있음
while _input > bee_house:
# 루프 안으로 넘어 왔다는 것은 벌집을 계속 탐색 한다는 의미(루프의 종료 조건 => 정답)는 아직 조건에 부합(X)
#
bee_house = bee_house + 6*layer # bee_house는 참고로 1, 7, 19, 37, 61 각 차이가 (6*n) == 6*layer에 해당
layer = layer + 1 # 카운트의 개수가 1증가
print(layer)
원문의 설명중 입력되는 방
과 출력되는 방
의 단어를 혼용하여 개념이 헷갈렸음.