문제
다음과 같은 규칙에 따라 방 번호를 부여합니다.
- 첫 번째 방은 1번입니다.
- 각 방은 육각형으로 이뤄져 있으며, 중앙의 방을 기준으로 인접한 방만 이동할 수 있습니다.
- 인접한 방은 순차적으로 증가합니다.
정수 n은 해당 방 번호입니다. n번방까지 이동을 몇번했는지 출력하는 프로그램을 작성하시오.
입력
정수 n이 주어집니다.
풀이
function getRoomMove(n) {
let room = 1
let maxValue = 1
while(n > maxValue) {
maxValue += 6 * room
romm++
}
return room
}
육각형이기 때문에 6을 곱해주고 인접한 육각형이 생기기때문에 합산해줍니다.
입력 n이 조건에서 나오면 room이 반환됩니다.
'코딩문제' 카테고리의 다른 글
사다리 오르내리기 (0) | 2024.04.03 |
---|---|
특별한 분수 (0) | 2024.04.03 |
동전 거스름돈 계산하기 (0) | 2024.04.01 |
진법 변환 결과 출력 (0) | 2024.04.01 |
진법 변환 계산 (0) | 2024.03.31 |