728x90
Code
😢 보자마자 위에서 표시해 놓은 부분들이 눈에 띄었다.
각 범위를 한 바퀴 돌고 다음 범위로 넘어가는 부분인데, 각 수를 계산해보니 6, 12, 18, 24로 등차수열을 이루고 있었다.
그래서 등차수열을 이용해서 푸는 문제인가? 하고 계산식을 넣으려고 하다가 시간을 좀 낭비했다.
😊 패턴을 찾았다면 프로그래밍적으로 단순하게 작성해 나가면 된다.
최소 거리는 1부터 시작할 것이고, 범위도 1부터 시작한다.
증가하는 범위는 1,(2~)7, (8~)19, (20~)37...이므로 '기존 범위+(count된)최소 거리*6' 이다.
while loop을 이용해 범위가 입력 받은 N보다 작을 때까지 반복해주면 된다.
Full Code (https://github.com/DasolPark/Algorithm_JavaScript/tree/master/Baekjoon)
// Honey Comb |
// 1st Solution - Good |
// For submit |
// const fs = require('fs'); |
// const N = Number(fs.readFileSync('/dev/stdin').toString().trim()); |
// For local test |
const N = 58; |
let counter = 1; |
let range = 1; |
while (range < N) { |
range += counter++ * 6; |
} |
console.log(counter); |
'Algorithm > JavaScript(Node.js)' 카테고리의 다른 글
Bubble Sort(버블 정렬) (0) | 2020.01.15 |
---|---|
백준 1193번: 분수찾기(Find Fraction) Node.js(JavaScript) (0) | 2020.01.15 |
백준 2839번: 설탕 배달(Sugar Delivery) Node.js(JavaScript) (0) | 2020.01.11 |
백준 1712번: 손익분기점(Break-Even Point) Node.js(JavaScript) (0) | 2020.01.09 |
백준 1316번: 그룹 단어 체커(Group Word Checker) Node.js(JavaScript) (0) | 2020.01.09 |