반응형
문제
https://www.acmicpc.net/problem/2292
코드
n = int(input())
house = 1
cnt = 1
while n > house:
house += 6*cnt
cnt += 1
print(cnt)
설명
규칙을 찾으면 간단하게 해결되는 문제인데 처음에 규칙이 안보여서 못 풀었던 문제다.
처음의 1을 기준으로 6칸이 늘어나고 늘어난 칸을 기준으로 6칸이 더 늘어난다.
즉 층마다 6칸씩 늘어나는 규칙을 가지고 있다.
각 층의 방을 카운트 하기 위한 house와, 몇 개의 방을 지나는지 카운트 할 cnt를 1로 설정해주고 시작한다.
n이 house보다 작으면 house에 cnt에 6을 곱한 수(각 층에 있는 방의 개수)를 더해주고 cnt를 1 늘려 다음 층으로 이동해준다.
계속 반복하여 cnt의 값을 출력한다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 2869: 달팽이는 올라가고 싶다 (0) | 2022.12.15 |
---|---|
[파이썬, Python] 백준 1193: 분수찾기 (0) | 2022.12.14 |
[파이썬, Python] 백준 1712: 손익분기점 (0) | 2022.12.12 |
[파이썬, Python] 백준 1065: 한수 (0) | 2022.12.11 |
[파이썬, Python] 백준 4673: 셀프 넘버 (0) | 2022.12.10 |