๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿฆ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

[JS] ๋‘ ๋‚ ์งœ๊ฐ€ ๋ช‡์ผ ์ฐจ์ด์ธ์ง€ ๊ณ„์‚ฐํ•˜๊ธฐ

Leetcode 1360. Number of Days Between Two Dates ๋ฌธ์ œํ’€์ด.

 

new Date()

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ  Date ๋Š” ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์ธ ํ˜•์‹์œผ๋กœ ์–ด๋– ํ•œ ํ•œ ์‹œ์ ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ์ฒด
  •  Date.prototype.getTime()  ์€ ํŠน์ • ๋‚ ์งœ๋ฅผ ๋ฐ€๋ฆฌ์„ธ์ปจ๋“œ ์ˆซ์ž ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜.
    (
    1970๋…„ 1์›” 1์ผ 00:00:00 UTC์ดํ›„๋ถ€ํ„ฐ ํ•ด๋‹น)
  •  1000*60*60*24 ๋งŒํผ ๋‚˜๋ˆ„์–ด์ค€ ์ด์œ ๋Š” ๋ฐ€๋ฆฌ์„ธ์ปจ๋“œ๊ฐ’์—์„œ๋ถ€ํ„ฐ
    ์ผ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ  1,000
    * 60(์ดˆ) * 60(๋ถ„) * 24(์‹œ๊ฐ„)์„ ๋‚˜๋ˆ„์–ด ์ค€ ๊ฒƒ.

Hard Coded

1. ์œค๋…„๊ตฌํ•˜๊ธฐ

2. ๋‚ ์งœ๋ฅผ 1970๋…„ 1์›” 1์ผ๋ถ€ํ„ฐ ์ผ์ˆ˜์˜ ํ•ฉ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

3. ๋‘ ์ผ์ˆ˜์˜ ์ฐจ์ด ๊ตฌํ•˜๊ธฐ 

์œค๋…„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€

if 4๋กœ ๋”ฑ ๋–จ์–ด์ง€๊ฒŒ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์œผ๋ฉด return ํ‰๋…„
else if 100๋กœ ๋”ฑ ๋–จ์–ด์ง€๊ฒŒ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์œผ๋ฉด return ์œค๋…„
else if 400๋กœ ๋”ฑ ๋–จ์–ด์ง€๊ฒŒ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์œผ๋ฉด return ํ‰๋…„
else return ์œค๋…„

์ด๋ฏ€๋กœ

 

4๋กœ ๋”ฑ ๋–จ์–ด์ง€๋ฉด์„œ 100์œผ๋กœ ๋”ฑ ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ๋‚ ์งœ, ๋˜๋Š” 400์œผ๋กœ ๋”ฑ ๋–จ์–ด์ง€๋Š” ๋‚ ์งœ๋Š” ์œค๋…„์ด๋‹ค๋กœ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.