Lumpy Space Princess - Adventure Time
코딩테스트/백준

백준 [2292] - 벌집

yaebb_82 2022. 8. 24.

 

문제

 

 

 

작성한 코드

import sys

input = sys.stdin.readline

N = int(input())
start = 1
least = 1

while N > start:
    start = start + 6 * least
    least += 1
    
print(least)
*규칙 찾기
: 1부터 시작하고, 6의 배수만큼씩 증가한다.

1  (1)
2 3 4 5 6 7  (6)
8 9 10 11 12 13 14 15 16 17 18 19  (12) ...

- sys.stdin.readline을 input에 할당하여 사용한다.

- input()으로 문자를 입력받아 int형으로 형변환하여 N에 저장한다. (숫자 N)

- start에 1을 할당하여, 1부터 시작한다는 것을 나타낸다.

- least를 1로 초기화하여, 입력한 값 N까지의 최소 개수 방을 지나는지 나타낸다.

- while N > start: N이 start보다 클 동안만 반복문 while문을 돌린다.

- 방들이 6의 배수만큼씩 증가하기 때문에 least에 6을 곱해주고, 해당 값을 시작점인 start에 더해주어 다시 start에 할당한다.

- 이후 least를 1씩 증가해준다.

- 위와 같이 계속 start를 증가해주다가 N보다 start가 커지면 while문을 멈추고, 그 때의 least 값을 print()로 출력해준다.

 

 

 

반응형

댓글