티스토리 뷰
2023-07-03 업데이트 코드
n = int(input())
count = 1
room = 2
r = 6
while n > 1:
count += 1
if room <= n < room + r:
break
room += r
r += 6
print(count)
이 문제는 참 재밌어요. 골똘히 고민하다가 알고리즘이 딱! 생각날 때가 가장 쾌감이 큽니다 ㅎㅎ 코딩의 묘미.
제 깃허브에도 똑같은 정답 코드가 업로드 되어 있습니다 :)
https://github.com/kmi0817/coding_test_practice/tree/main/baekjoon_step/step8
벌집 (2292번)
등차수열로 풀었습니다.
- 1 (1개), 2 ~ 7 (6개), 8 ~ 19 (12개), 20 ~ 37 (18개), 38 ~ 61 (24개)...
- 1과 2~7, 8~19 등이 각 room이고, 각 room마다 포함되는 수의 개수가 6씩 늘어납니다.
- 입력한 N이 어떤 room의 left num과 right num 사이에 들어 있으면, N까지 가는 데 rooms개의 방의 지나갑니다.
N = int(input())
if N < 1 or N > 1000000000 :
print("N should be between 1 and 1,000,000,000")
rooms = 1
start_num = 1
end_num = 1
n = 0 # 6n (n >= 1) & 1 (n = 0)
while N not in range(start_num, end_num + 1) :
n = n + 6
rooms = rooms + 1
start_num = end_num
end_num = end_num + n
print(rooms)
백준 단계별로 풀어보기 이전 문제 파이썬 정답 코드는 아래 링크를 확인해주세요 :)
2022.01.05 - [백준/단계별로 풀어보기] - 백준 단계별로 풀어보기 8단계 기본수학1 손익분기점 1712번 파이썬 정답
728x90
'코딩 테스트 > 백준' 카테고리의 다른 글
[1924번] 2007년 파이썬 정답 코드 (0) | 2022.04.26 |
---|---|
[11650번] 좌표 정렬하기 파이썬 정답 코드 (0) | 2022.04.25 |
백준 단계별로 풀어보기 8단계 기본수학1 손익분기점 1712번 파이썬 정답 (0) | 2022.01.05 |
백준 단계별로 풀어보기 7단계 문자열 파이썬 정답 (0) | 2022.01.02 |
백준 단계별로 풀어보기 6단계 함수 파이썬 정답 (0) | 2021.12.31 |