■ 2292번 벌집 문제
■ 코드 풀이
문제를 보면 숫자 2부터 7까지는 방이 2개입니다. 8부터 19까지는 방이 3개, 20부터 37까지는 방이 4개, 38부터 61까지는 방이 5개입니다. 다시 말해, 방의 개수를 정하는 범위의 끝은 +6→+12→+18→+24→ .. 씩 늘어난다고 볼 수 있습니다. 정확한 수열 용어는 기억이 나지 않지만, 목적은 코드를 푸는 것이므로 아래와 같이 구현할 수 있습니다.
N이 1이라면 바로 room의 개수를 출력하면 됩니다. N이 그 이상이라면 범위의 끝자리 숫자와 비교해야 합니다. 끝자리 숫자보다 N이 작거나 같다면, 그 구간이 바로 방의 개수가 될 테니까요.
이런 코드는 직접 손으로 따라 하셔야 이해가 빠릅니다. 7, 15, 20 이렇게 3가지 숫자에 대해 한 번 연습해 보시면 도움이 될 것 같네요.
N = int(input())
end_num = 1
start_num = 1
room = 1
add_1 = 6
add_2 = 6
while end_num < N:
if N == 1:
break
end_num += add_1
start_num = end_num + 1
add_1 += add_2
room += 1
print(room)
'코딩 테스트 > Python_백준' 카테고리의 다른 글
[백준/Python] 10757번 큰 수 A+B 문제 (2) | 2023.04.11 |
---|---|
[백준/Python] 2869번 달팽이는 올라가고 싶다 문제 (0) | 2023.04.10 |
[백준/Python] 2903번 중앙 이동 알고리즘 문제 (0) | 2023.04.08 |
[백준/Python] 2720번 세탁소 사장 동혁 문제 (0) | 2023.04.07 |
[백준/Python] 11005번 진법 변환2 문제 (0) | 2023.04.06 |
댓글