문제
https://www.acmicpc.net/problem/2292
문제는 위 사이트를 참고해주세요.
풀이
N = int(input()) # 숫자 입력 받음
x = 1 # 시작 값 1
inc = 6 # 중가 값
count = 1 # 지나가는 방 개수 카운트
if N == 1: # N=1이면 바로 1출력
print(1)
else:
while True: # while로 무한루프 돌게함
x = x + inc # 한 방씩 만들어 질 때 7 19 37 61.. , 그 차이가 6 12 18 24 ..
count += 1 # 이웃 방이 생겼으므로 +1
if N <= x: # N이 x보다 작으면 이미 만들어진 방에 N 값이 있다는 뜻
print(count) # 방 개수 출력
break # while문 종료
inc += 6 # if문에 걸리지 않으면 inc를 6 증가 시켜줌
주석을 참고해주세요.
배열을 사용해서 풀려고하다가 오히려 더 헤맸습니다.
배열로 풀긴 풀었는데 다 메모리 초과가...
간단한 방법이 있는데 자꾸 어렵게 풀게되네요.
결과
'IT > 알고리즘' 카테고리의 다른 글
1일 N알고리즘 - #18 (0) | 2020.05.20 |
---|---|
1일 N알고리즘 - #17 (0) | 2020.05.19 |
1일 N알고리즘 - #15 (0) | 2020.05.18 |
1일 N알고리즘 - #14 (0) | 2020.05.17 |
1일 N알고리즘 - #13 (0) | 2020.05.16 |
댓글