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

๐Ÿง  ์•Œ๊ณ ๋ฆฌ์ฆ˜31

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฆฌ์ฝ”์ณ‡ ๋กœ๋ด‡ JS ๋ฌธ์ œ๋งํฌ ํ’€์ด ๋ฐฉ๋ฒ• bfs๋กœ ์ ‘๊ทผํ•˜๊ธด ํ–ˆ๋Š”๋ฐ ํ์— ๋„ฃ์–ด์•ผ ํ•˜๋Š” ๋…ธ๋“œ๋“ค๊ณผ ๋ฐฉ๋ฌธ ์ฒดํฌํ•ด์•ผ ํ•˜๋Š” ๋…ธ๋“œ๋“ค์„ ์ž˜๋ชป ์ƒ๊ฐํ•ด์„œ ๊ณ„์† ์˜ค๋‹ต์ฒ˜๋ฆฌ๊ฐ€ ๋‚˜๋”๋ผ๊ตฌ์š” ์Šคํ„ฐ๋””์›๋‹˜์˜ ํ’€์ด ๋ณด๊ณ  ๊ฐ์„ ์žก์•„์„œ ๋‹ค์‹œ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค! ์ด์ „์— ํ’€์—ˆ๋˜ bfs์™€ ๋‹ค๋ฅด๊ฒŒ ์ง€๋‚˜์นœ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๋์— ๋‹ค๋‹ค๋ฅธ ๋…ธ๋“œ๋งŒ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์„œ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค 1. ์ถœ๋ฐœ์ ๊ณผ ๋ชฉํ‘œ์ ์˜ ์ขŒํ‘œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. 2. ์‹œ์ž‘์ ์„ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌํ•˜๊ณ  ํ์— ๋„ฃ์–ด์ค๋‹ˆ๋‹ค. 3. ํ์—์„œ ๊บผ๋‚ธ ์ง€์ ๋ถ€ํ„ฐ ์ƒํ•˜์ขŒ์šฐ๋กœ ๋Œ๋ฉด์„œ ํ•œ ๋ฑกํ–ฅ์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋งŒํผ ๋๊นŒ์ง€ ๊ฐˆ ๊ฒƒ 4. ๋„์ฐฉํ•œ ๋์ง€์ ์„ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋ฉด cnt+1ํ•˜๊ณ  ํ์— ๋„ฃ์–ด์คŒ (์ง€๋‚˜๊ฐ€๋Š” ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ ํ•˜๋ฉด ์•ˆ๋จ!! ์™œ๋ƒํ•˜๋ฉด ์ง€๋‚˜๊ฐ”๋˜ ๋…ธ๋“œ๋“ค์„ ๋‹ค์‹œ ์ง€๋‚˜๊ฐ€์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์กด์žฌ, ํ•˜์ง€๋งŒ ์ด๋ฏธ ํ•œ .. 2024. 1. 3.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ณผ์ œ ์ง„ํ–‰ํ•˜๊ธฐ JS ๋ฌธ์ œ๋งํฌ ํ’€์ด ๋ฐฉ๋ฒ• 1. ์‹œ๊ฐ„์€ ๋ชจ๋‘ ๋ถ„(์ˆซ์ž)์œผ๋กœ ๋ณ€ํ™˜, ๊ณผ์ œ๋ฅผ ์‹œ์ž‘ ์‹œ๊ฐ„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค 2. ๊ณผ์ œ ํ์—์„œ ์ƒˆ๋กœ์šด ๊ณผ์ œ๋ฅผ ํ•˜๋‚˜ ๊บผ๋ƒ…๋‹ˆ๋‹ค 3. ์ƒˆ๋กœ์šด ๊ณผ์ œ ์‹œ์ž‘ ์‹œ๊ฐ„์ด ๋˜์ง€ ์•Š๊ณ , ์ž„์‹œ ์ €์žฅ๋œ ๊ณผ์ œ๊ฐ€ ์žˆ์œผ๋ฉด 4. ์•ž์œผ๋กœ ํ•  ๊ณผ์ œ์˜ ์‹œ์ž‘ ์‹œ๊ฐ„ ์ „๊นŒ์ง€ ์ž„์‹œ ์ €์žฅ ๊ณผ์ œ๋“ค์„ ๊บผ๋‚ด์„œ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค 5. ํ˜„์žฌ ๊ณผ์ œ๊ฐ€ ๊ณ„ํš๋œ ๋งˆ์ง€๋ง‰ ๊ณผ์ œ๋ผ๋ฉด ๋๊นŒ์ง€ ๋งˆ๋ฌด๋ฆฌํ•ฉ๋‹ˆ๋‹ค 6. ๋‹ค์Œ ๊ณผ์ œ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋‹ค์Œ ๊ณผ์ œ ์‹œ์ž‘ ์‹œ๊ฐ„๊ณผ ๊ณผ์ œ ์ข…๋ฃŒ ์‹œ๊ฐ„์„ ๋น„๊ตํ•˜์—ฌ ์™„๋ฃŒ ๋ฐฐ์—ด ๋˜๋Š” ์ž„์‹œ ๊ณผ์ œ ์Šคํƒ์— ๋„ฃ์–ด์ค๋‹ˆ๋‹ค 7. ๊ณ„ํš๋œ ๊ณผ์ œ๋ฅผ ๋ชจ๋‘ ์ง„ํ–‰ํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค 8. ๊ณ„ํš๋œ ๊ณผ์ œ๊ฐ€ ๋๋‚˜๋ฉด ์Šคํƒ์—์„œ pop๋˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ๊ณผ์ œ๊ฐ€ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค function timeToNumber(time) { const [hours, minutes] = time... 2024. 1. 3.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][PCCP ๊ธฐ์ถœ๋ฌธ์ œ] 3๋ฒˆ / ์•„๋‚ ๋กœ๊ทธ ์‹œ๊ณ„ JSํ’€์ด ๋ฌธ์ œ ๋งํฌ PCCP 3๋ฒˆ ํ’€์ด ๋ฐฉ๋ฒ• ์ƒ๊ฐ๋ณด๋‹ค ์‹œ๊ฐ„์ด ๊ฑธ๋ ค์„œ ๋‹ค๋ฅธ ๋ถ„์˜ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ’€์ด๊ฐ€ ์ง๊ด€์ ์ด๊ณ  ์ดํ•ด๊ฐ€ ์‰ฌ์šด ๊ฒƒ ๊ฐ™์•„์š” ์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ ์‹œ์นจ, ์ดˆ์นจ๊ณผ ๋ถ„์นจ, ์ดˆ์นจ์ด ๊ฒน์ณค๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด 1์ดˆ๋งˆ๋‹ค ๊ฐ๋„๋ฅผ ํ™•์ธํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์‹œ๊ฐ„ ๊ธฐ์ค€์œผ๋กœ ์ดˆ์นจ์˜ ๊ฐ๋„๊ฐ€ ์‹œ์นจ์˜ ๊ฐ๋„๋ณด๋‹ค ์ž‘๊ณ , 1์ดˆ ๋’ค์— ์‹œ์นจ์˜ ๊ฐ๋„๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด ๊ฒน์ณ์ง„ ๊ฒƒ์ด๋ฏ€๋กœ ์นด์šดํŠธ๋ฅผ 1 ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค ๋ถ„์นจ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ 3๊ฐ€์ง€๊ฐ€ ๊ฒน์ณค์„ ๊ฒฝ์šฐ์—๋Š” 1๋ฒˆ๋งŒ ์นด์šดํŠธ ํ•ด์•ผ ํ•˜๋ฏ€๋กœ 1์„ ๋นผ์ค๋‹ˆ๋‹ค. 1. ๋‚ด ํ’€์ด function solution(h1, m1, s1, h2, m2, s2) { //์ดˆ๋‹น ์›€์ง์ด๋Š” ์ดˆ์นจ, ๋ถ„์นจ, ์‹œ์นจ ๊ฐ๋„ const SECONDS_ANGLE = 360 / 60; const MINUTES_ANGLE = 360 / 6.. 2023. 12. 29.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][PCCP ๊ธฐ์ถœ๋ฌธ์ œ] 2๋ฒˆ / ์„์œ  ์‹œ์ถ” JSํ’€์ด ๋ฌธ์ œ ๋งํฌ PCCP 2๋ฒˆ ํ’€์ด ๋ฐฉ๋ฒ• ์ •๋‹ต์„ ๋‚ด๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฐ’๋“ค์€ ๋ชจ๋“  ์„์œ  ๋ฉ์–ด๋ฆฌ์˜ ํฌ๊ธฐ ์‹œ์ถ”๊ด€์„ ๋šซ์„ ์ˆ˜ ์žˆ๋Š” ์—ด์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์„์œ  ๋ฉ์–ด๋ฆฌ์˜ ํฌ๊ธฐ์˜ ํ•ฉ ๊ฐ ์—ด์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์„์œ  ๋ฉ์–ด๋ฆฌ์˜ ํฌ๊ธฐ์˜ ํ•ฉ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด land์˜ ์—ด์˜ ํฌ๊ธฐ์™€ ๊ฐ™์€ 1์ฐจ์› ๋ฐฐ์—ด(oilArr)์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. land์˜ ๋ชจ๋“  ์›์†Œ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด์„œ bfs๋กœ ๋ชจ๋“  ์„์œ  ๋ฉ์–ด๋ฆฌ์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฉ์–ด๋ฆฌ๋ฅผ ๊ตฌํ•  ๋•Œ๋งˆ๋‹ค ๊ฐ col๋ณ„๋กœ ์„์œ  ๋ฉ์–ด๋ฆฌ์˜ ํฌ๊ธฐ๋ฅผ oilArr์— ๋”ํ•ด์ค๋‹ˆ๋‹ค. bfs๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” ์‹œ๊ฐ„ ์ œํ•œ์— ๊ฑธ๋ฆด ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด์„œ ์ง์ ‘ ํ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํŽธ์ž…๋‹ˆ๋‹ค 1. ๋‚ด ํ’€์ด class Node { constructor(val) { this.val = val; this.next = null; } } class Queue { .. 2023. 12. 29.
[๋ฐฑ์ค€] 2573 ๋น™์‚ฐ js ํ’€์ด ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• ํ–‡์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค 1-1. ๋งค๋…„ ๋น™์‚ฐ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•œ๋‹ค iceCnt 1-2. ๋น™์‚ฐ์˜ ๋†’์ด๋ฅผ ๋ฐ”๊ฟ”์ค„ ๋•Œ๋งˆ๋‹ค ๋น™์‚ฐ์˜ ๊ฐœ์ˆ˜ -1 ํ•ด์ฃผ๊ณ (iceCnt--) 1-3. ๋ฐ”๊ฟ”์•ผ ํ•  ๋น™์‚ฐ์ด ๋‚จ์ง€ ์•Š์•˜์„ ๋•Œ, ์ƒˆ๋กœ์šด ํ•ด๊ฐ€ ์‹œ์ž‘๋˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค(year++) ๋ชจ๋“  ๋น™์‚ฐ์ด ๋…น์„ ๋•Œ๊นŒ์ง€ ๋น™์‚ฐ์˜ ๋†’์ด๋ฅผ ์กฐ์ ˆํ•œ๋‹ค.(bfs์‚ฌ์šฉ) 2-1. ๋น™์‚ฐ์˜ ๋†’์ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐฐ์—ด์€ 2๊ฐœ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (why? ๋ฐฐ์—ด์„ 1๊ฐœ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ์—…๋ฐ์ดํŠธ ํ•ด์ค„ ๊ฒฝ์šฐ, ๊ฐ™์€ ํ•ด์— ๋…น์•„์„œ 0์ด ๋œ ๋น™์‚ฐ์ด ์ธ์ ‘ ๋น™์‚ฐ์˜ ๋†’์ด๋ฅผ ์กฐ์ ˆํ•  ๋•Œ ๋ฐ”๋‹ค๋กœ ์นด์šดํŠธ ๋˜๊ธฐ ๋•Œ๋ฌธ์—) 2-2. ์˜ค๋ฆฌ์ง€๋„ ๋ฐฐ์—ด(=์ƒˆํ•ด๊ฐ€ ์‹œ์ž‘๋˜๊ณ  ์•„์ง ๋น™์‚ฐ์ด ๋…น์ง€ ์•Š์€ ๋ฐฐ์—ด)๊ธฐ์ค€์œผ๋กœ ์ธ์ ‘ ๋ฐ”๋‹ค๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉด์„œ ์ž„์‹œ ๋ฐฐ์—ด์— ๋ณ€ํ•œ ๋น™์‚ฐ์˜ ๋†’์ด๋ฅผ ์—…๋ฐ์ดํŠธ ํ•ด์ค€๋‹ค(bfs์‚ฌ์šฉ) 2-3. ๋†’์ด๊ฐ€ 0๋ณด๋‹ค .. 2023. 12. 28.
[์œ„์ƒ์ •๋ ฌ][๋ฐฑ์ค€] 2252 JS ํ’€์ด ์œ„์ƒ์ •๋ ฌ : ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์—์„œ ๋…ธ๋“œ๋“ค๊ฐ„ ์„ ํ–‰ ์ˆœ์„œ๋ฅผ ์œ„๋ฐฐํ•˜์ง€ ์•Š๊ณ  ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„๋ฒ• 1. ๋งจ ์ฒ˜์Œ ๋ชจ๋“  ๊ฐ„์„ ์„ ์ฝ์œผ๋ฉฐ indegree ํ…Œ์ด๋ธ”์„ ์ฑ„์šด๋‹ค 2. indegree๊ฐ€ 0์ธ ์ •์ ๋“ค์„ ๋ชจ๋‘ ํ์— ๋„ฃ๋Š”๋‹ค 3. ํ์—์„œ ์ •์ ์„ ๊บผ๋‚ด์–ด ์œ„์ƒ ์ •๋ ฌ ๊ฒฐ๊ณผ์— ์ถ”๊ฐ€ํ•œ๋‹ค 4. ํ•ด๋‹น ์ •์ ์œผ๋กœ๋ถ€ํ„ฐ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์ •์ ์˜ indegree ๊ฐ’์„ 1 ๊ฐ์†Œ์‹œํ‚จ๋‹ค. ์ด ๋•Œ indegree๊ฐ€ 0์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ทธ ์ •์ ์„ ํ์— ์ถ”๊ฐ€ํ•œ๋‹ค 5. ํ๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ 3,4๋ฒˆ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค ์ข€ ๋” ์ž์„ธํ•œ ์„ค๋ช…์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ์ถœ์ฒ˜: ๋ฐ”ํ‚น๋… ๋ธ”๋กœ๊ทธ https://blog.encrypted.gg/1020 ์œ„์ƒ ์ •๋ ฌ ๋ฌธ์ œ์— ์ ์šฉํ•˜๊ธฐ ๋ฌธ์ œ N๋ช…์˜ ํ•™์ƒ๋“ค์„ ํ‚ค ์ˆœ์„œ๋Œ€๋กœ ์ค„์„ ์„ธ์šฐ๋ ค๊ณ  ํ•œ๋‹ค. ๊ฐ ํ•™์ƒ์˜ ํ‚ค๋ฅผ ์ง์ ‘ ์žฌ์„œ ์ •๋ ฌํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒ ์ง€๋งŒ, ๋งˆ๋•…ํ•œ ๋ฐฉ๋ฒ•์ด .. 2023. 12. 28.