# [Algorithm/JS] ๋ฐฑ์ค€ 2292๋ฒˆ ๋ฒŒ์ง‘

๐Ÿ”— ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ (opens new window)

# Question

์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์œก๊ฐํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒŒ์ง‘์ด ์žˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ๋ณด๋Š” ๋ฐ”์™€ ๊ฐ™์ด ์ค‘์•™์˜ ๋ฐฉ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ด์›ƒํ•˜๋Š” ๋ฐฉ์— ๋Œ์•„๊ฐ€๋ฉด์„œ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฒˆํ˜ธ๋ฅผ ์ฃผ์†Œ๋กœ ๋งค๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ˆซ์ž N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฒŒ์ง‘์˜ ์ค‘์•™ 1์—์„œ N๋ฒˆ ๋ฐฉ๊นŒ์ง€ ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋ฐฉ์„ ์ง€๋‚˜์„œ ๊ฐˆ ๋•Œ ๋ช‡ ๊ฐœ์˜ ๋ฐฉ์„ ์ง€๋‚˜๊ฐ€๋Š”์ง€(์‹œ์ž‘๊ณผ ๋์„ ํฌํ•จํ•˜์—ฌ)๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, 13๊นŒ์ง€๋Š” 3๊ฐœ, 58๊นŒ์ง€๋Š” 5๊ฐœ๋ฅผ ์ง€๋‚œ๋‹ค.

# Input

์ฒซ์งธ ์ค„์— N(1 โ‰ค N โ‰ค 1,000,000,000)์ด ์ฃผ์–ด์ง„๋‹ค.

# Output

์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฐฉ๊นŒ์ง€ ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋ฐฉ์„ ์ง€๋‚˜์„œ ๊ฐˆ ๋•Œ ๋ช‡ ๊ฐœ์˜ ๋ฐฉ์„ ์ง€๋‚˜๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

# Example

# Input 1

13
1

# Output 1

3
1

# Solution

const input = require('fs').readFileSync('../input.txt').toString().trim();
let range = 1;
let count = 1;

while (range < input) {
  range += 6 * count;
  count++;
}
console.log(count);
1
2
3
4
5
6
7
8
9

1๋ฒˆ ๋ฒŒ์ง‘์„ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ์‚ฌ์ดํด์”ฉ ๋Š˜์–ด๋‚  ๋•Œ๋งˆ๋‹ค 6๊ฐœ์˜ ๋ฒŒ์ง‘์ด ์ถ”๊ฐ€๋œ๋‹ค.

58์„ ์˜ˆ๋กœ ๋“ค๋ฉด, 58๊นŒ์ง€ ๊ฐ€๊ธฐ์œ„ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ๋Š” 1๋ฒˆ ๋ฒŒ์ง‘์„ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ์‚ฌ์ดํด์ด ๋ช‡๊ฒน์ด๋ƒ๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋ฒ”์œ„๋ฅผ ๊ณ„์‚ฐํ•  range ๋ณ€์ˆ˜์™€ ๋ช‡๊ฐœ์˜ ๋ฐฉ์„ ์ง€๋‚˜๊ฐ€๋Š” ์ง€๋ฅผ ํŒ๋ณ„ํ•œ count ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ ๋ฐ 1๋กœ ์ดˆ๊ธฐํ™”ํ–ˆ๋‹ค.

while ๋ฌธ์„ ์‚ฌ์šฉํ•ด range ๊ฐ€ input ๊ฐ’๋ณด๋‹ค ์ž‘์„ ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ์Šค์ฝ”ํ”„๋ฅผ ๋ฐ˜๋ณตํ•˜๊ณ , range ์— **6 * ๋ฐ˜๋ณตํ•˜๋Š” ํšŸ์ˆ˜**๋ฅผ ๋Œ€์ž…ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ count ํ†ตํ•ด ๋ฐฉ์„ ๋ช‡๋ฒˆ์ง€๋‚˜ input ๊ฐ’์— ๋„๋‹ฌํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

Last Updated: 2022. 6. 5. ์˜คํ›„ 3:42:39