Skip to content

๐Ÿธ FrogJump ๋ฌธ์ œ ํ•ด๊ฒฐ โ€‹

๋ฌธ์ œ ์„ค๋ช… โ€‹

๊ฐœ๊ตฌ๋ฆฌ๊ฐ€ ์œ„์น˜ X์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋ชฉํ‘œ ์ง€์  Y๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ฐœ๊ตฌ๋ฆฌ๋Š” ํ•œ ๋ฒˆ ์ ํ”„ํ•  ๋•Œ ๊ณ ์ •๋œ ๊ฑฐ๋ฆฌ D๋งŒํผ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐœ๊ตฌ๋ฆฌ๊ฐ€ Y ์ด์ƒ์œผ๋กœ ๋„๋‹ฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ตœ์†Œ ์ ํ”„ ํšŸ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.


๋ฌธ์ œ ์กฐ๊ฑด โ€‹

  • ๊ฐœ๊ตฌ๋ฆฌ๋Š” ํ•œ ๋ฒˆ์— ์ •ํ™•ํžˆ D๋งŒํผ ์ ํ”„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐœ๊ตฌ๋ฆฌ๋Š” X >= Y์ธ ๊ฒฝ์šฐ ์ ํ”„ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. (๊ฒฐ๊ณผ๋Š” 0)
  • ํ•„์š”ํ•œ ์ตœ์†Œ ์ ํ”„ ํšŸ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ โ€‹

XYDํ•„์š”ํ•œ ์ ํ”„ ํšŸ์ˆ˜
1085303
075204
101050

์˜ˆ์ œ ์„ค๋ช… (์ฒซ ๋ฒˆ์งธ ์ผ€์ด์Šค) โ€‹

  • ํ˜„์žฌ ์œ„์น˜: X = 10
  • ๋ชฉํ‘œ ์œ„์น˜: Y = 85
  • ํ•œ ๋ฒˆ ์ ํ”„ ์‹œ D = 30
  • ์ ํ”„ ๊ณผ์ •: 10 โ†’ 40 โ†’ 70 โ†’ 100
  • ์ตœ์†Œ 3๋ฒˆ ์ ํ”„ ํ•„์š”

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• โ€‹

  1. ์ด ์ด๋™ํ•ด์•ผ ํ•  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ: distance = Y - X

  2. ํ•„์š”ํ•œ ์ ํ”„ ํšŸ์ˆ˜ ๊ณ„์‚ฐ:

    • distance๊ฐ€ D๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด distance / D
    • ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š์œผ๋ฉด Math.floor(distance / D) + 1 (์ถ”๊ฐ€ ์ ํ”„ ํ•„์š”)

    ์ฆ‰, ์˜ฌ๋ฆผ(ceil) ์—ฐ์‚ฐ์„ ์ ์šฉํ•˜์—ฌ ์ ํ”„ ํšŸ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.


์ฝ”๋“œ ๊ตฌํ˜„ โ€‹

typescript
function solution(X: number, Y: number, D: number): number {
  const distance = Y - X // ์ด ์ด๋™ํ•ด์•ผ ํ•  ๊ฑฐ๋ฆฌ
  return distance % D === 0 ? distance / D : Math.floor(distance / D) + 1
}

์ฝ”๋“œ ์„ค๋ช… โ€‹

  1. ์ด๋™ํ•ด์•ผ ํ•  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ

    typescript
    const distance = Y - X
    • ํ˜„์žฌ ์œ„์น˜์—์„œ ๋ชฉํ‘œ ์œ„์น˜๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐ
  2. ํ•„์š”ํ•œ ์ ํ”„ ํšŸ์ˆ˜ ๊ณ„์‚ฐ

    typescript
    return distance % D === 0 ? distance / D : Math.floor(distance / D) + 1
    • distance % D === 0 โ†’ D๋กœ ์ •ํ™•ํžˆ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๊ฒฝ์šฐ
      โ†’ distance / D ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜
    • ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด Math.floor(distance / D) + 1 โ†’ ์ถ”๊ฐ€ ์ ํ”„ ํ•„์š”

์‹œ๊ฐ„ ๋ณต์žก๋„ โ€‹

  • ๋ชจ๋“  ์—ฐ์‚ฐ์ด O(1) (์ƒ์ˆ˜ ์‹œ๊ฐ„)
    โ†’ ์ž…๋ ฅ ํฌ๊ธฐ์— ์ƒ๊ด€์—†์ด ํ•ญ์ƒ ์ผ์ •ํ•œ ์‹œ๊ฐ„์— ํ•ด๊ฒฐ ๊ฐ€๋Šฅ

์‹คํ–‰ ์˜ˆ์ œ โ€‹

typescript
console.log(solution(10, 85, 30)) // ์ถœ๋ ฅ: 3
console.log(solution(0, 75, 20)) // ์ถœ๋ ฅ: 4
console.log(solution(10, 10, 5)) // ์ถœ๋ ฅ: 0

์ตœ์ข… ์ •๋ฆฌ โ€‹

โœ… O(1)์˜ ๋น ๋ฅธ ์—ฐ์‚ฐ
โœ… ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ํ›„ ํ•„์š”ํ•œ ์ ํ”„ ํšŸ์ˆ˜ ๊ณ„์‚ฐ
โœ… ์˜ฌ๋ฆผ(ceil) ์—ฐ์‚ฐ์„ ํ™œ์šฉํ•œ ๊น”๋”ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

์ด์ œ ๊ฐœ๊ตฌ๋ฆฌ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ ํ”„์‹œ์ผœ ๋ชฉํ‘œ ์ง€์ ์— ๋„๋‹ฌ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๐Ÿธ๐Ÿš€