난이도 : Bronze 2
문제번호 : 2292
문제 주소 및 출처입니다.
목차
1. 문제 설명
2. 문제 해석
3. 소스 코드
1. 문제 설명
위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지 (시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. |
입력
첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. |
출력
입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. |
2. 문제풀이
규칙을 찾는 문제이다. |
3. 소스코드
N = int(input())
count = 6
distance = 1
while N > 1:
N -= count
distance += 1
count += 6
print(distance)
|
'코딩테스트 > 백준' 카테고리의 다른 글
A + B - 2 JAVA(백준, 2558) (0) | 2020.08.29 |
---|---|
검증수 Python(백준, 2475) (0) | 2020.08.28 |
분해합 Python(백준, 2231) (0) | 2020.08.19 |
팰린드롬수 Python(백준, 1259) (1) | 2020.08.18 |
단어공부 Python(백준, 1157) (0) | 2020.08.17 |
댓글