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

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

[JS] ์ •๋ ฌ ๋ฉ”์†Œ๋“œ ํ™œ์šฉํ•˜๊ธฐ 1. Array.prototype.sort() ๋ฉ”์†Œ๋“œ ์„ค๋ช…๊ณผ ์˜ˆ์‹œ 2. Leetcode 1366. Rank Teams by Votes ๋ฌธ์ œํ’€์ด Array.prototype.sort([compareFunction]) .sort()๋Š” ๋ฐฐ์—ด์˜ ์›์†Œ๋“ค์„ in-place๋กœ ์ •๋ ฌํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค. ์ •๋ ฌ๋œ ๋ณต์‚ฌ๋ณธ์ด ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์› ๋ฐฐ์—ด์ด ์ •๋ ฌ๋œ๋‹ค๋Š” ๋œป์ด๋‹ค. ์›์†Œ๋“ค์„ string์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ํ•ด๋‹น ์‹œํ€ธ์Šค๋‚ด ๋‹จ์œ„์˜ UTF-16 ์ฝ”๋“œ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ ์ •๋ ฌ ๋ฐฉ์‹์ด๋‹ค. ๋”ฐ๋ผ์„œ string์ด ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด์„ ๊ธฐ๋ณธ ์ •๋ ฌํ•˜๋ฉด ์‚ฌ์ „์‹์œผ๋กœ ์ •๋ ฌ๋œ๋‹ค. ๊ธฐ๋ณธ ์ •๋ ฌ ๋ฐฉ์‹ ์ด์™ธ์— ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌ์„ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ์ง์ ‘ ์ธ์ž์— ์›ํ•˜๋Š” ๋™์ž‘์„ ํ•˜๋Š” ๋น„๊ตํ•จ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜๋ฉด๋œ๋‹ค. (a, b) => -1: ๋น„.. ๋”๋ณด๊ธฐ
[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 ํ‰๋…„ e.. ๋”๋ณด๊ธฐ
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹œ์ž‘ํ•˜๊ธฐ JavaScript30 Challenge๋Š” ์‹ค์ œ ์›นํŽ˜์ด์ง€์˜ ์ธํ„ฐ๋ž™์…˜์„ Day ๋‹น ํ•œ ํŽ˜์ด์ง€์”ฉ ๊ตฌํ˜„ํ•ด๋ณด๋„๋ก ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์ž‘์ • ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ์น˜๊ธฐ๋ณด๋‹ค๋Š” ๊ธฐ์ดˆ๋ฌธ๋ฒ•์„ ์ •๋ฆฌํ•˜๊ณ  ์‹œ์ž‘ํ•˜๋Š” ํŽธ์ด ํšจ์œจ์  ์ผ ๊ฒƒ ๊ฐ™์•„, ๊ณต๋ถ€ํ•  ๊ฒธ ๋ณธ ํฌ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„ MDN web documentation์— ์žˆ๋Š” ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๋ ค๋ฉด ๋งํฌ๋ฅผ ๋”ฐ๋ผ๋“ค์–ด๊ฐ€ docs๋ฅผ ์ง์ ‘ ํ™•์ธํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์Šต๋‹ˆ๋‹ค. 1. JavaScript๋Š” ์ฃผ๋กœ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ ์›น ํŽ˜์ด์ง€์˜ ๋™์  ์ธํ„ฐ๋ž™์…˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” *๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. *๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„์— ์ˆ˜ํ–‰๋˜๋Š” ์ž‘์—…์„ ๋Ÿฐํƒ€์ž„์— ์ˆ˜ํ–‰ ํ•  ์ˆ˜์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด JavaScript์—์„œ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ๋ณ€.. ๋”๋ณด๊ธฐ