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

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋’ค์— ์žˆ๋Š” ํฐ ์ˆ˜ ์ฐพ๊ธฐ JS ์ฒซ ๋ฒˆ์งธ ํ’€์ด๋Š” ๋’ทํฐ์ˆ˜๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๋งŒ ํŒ๋ณ„ํ•˜์—ฌ ์ด์ค‘ ํฌ๋ฌธ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค 2๊ฐœ ์ •๋„ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ๋ฐ˜๋ณต์„ ์ค„์ผ ์ˆ˜ ์žˆ์„๊นŒ ๊ณ ๋ฏผํ–ˆ์Šต๋‹ˆ๋‹ค ์ƒ๊ฐ์„ ํ•˜๋‹ค๋ณด๋‹ˆ ์Šคํƒ์„ ํ†ตํ•ด ๋’ทํฐ์ˆ˜๋งŒ ์œ ์ง€ํ•˜๋ฉด ๋˜๊ฒ ๋‹ค๋Š” ํŒ๋‹จ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋’ค์—์„œ๋ถ€ํ„ฐ ์ˆœํšŒ๋ฅผ ํ•˜๋ฉด์„œ ๋ฐ”๋กœ ๋’ค์— ์žˆ๋Š” ์ˆ˜์™€ ๊ทธ ์ˆ˜์˜ ๋’ทํฐ์ˆ˜๋“ค๋งŒ ์Šคํƒ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค function solution(numbers) { //๋’ค์—์„œ๋ถ€ํ„ฐ ์ˆœํšŒํ•˜๋ฉด์„œ //์Šคํƒ์—๋Š” ๋ฐ”๋กœ ๋’ค์— ์žˆ๋Š” ์ˆ˜์™€ ๊ทธ ์ˆ˜์˜ ๋’ทํฐ์ˆ˜๋“ค๋งŒ ๊ด€๋ฆฌ const stack = []; const result = []; //๋’ค์—์„œ๋ถ€ํ„ฐ ์ˆœํšŒ for (let i = numbers.length - 1; i >= 0; i--) { //์Šคํƒ์ด ๋นŒ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต while (stack.. 2024. 1. 7.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฌด์ธ๋„ ์—ฌํ–‰ JS ๋ฌธ์ œ๋งํฌ ์ „ํ˜•์ ์ธ BFS๋ฌธ์ œ ๋ชจ๋“  ์›์†Œ๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌด์ธ๋„๋ฅผ ๋ฐฉ๋ฌธํ•˜๊ณ  ํ•˜๋‚˜์˜ ๋ฌด์ธ๋„๋ฅผ ๋ฐœ๊ฒฌํ•  ๋•Œ๋งˆ๋‹ค bfs๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ๋ฌด์ธ๋„๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์‹๋Ÿ‰์˜ ์ˆ˜๋ฅผ ๋”ํ•ด๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค ๋ฐฉ๋ฌธํ•œ ๋ฌด์ธ๋„์˜ ์›์†Œ๋Š” X๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์คฌ์Šต๋‹ˆ๋‹ค function solution(maps) { //bfs ์™„์ „ ํƒ์ƒ‰ const q = []; const result = []; const r_length = maps.length; const c_length = maps[0].length; const dr = [0, 0, -1, 1]; const dc = [1, -1, 0, 0]; //๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ for (let r = 0; r < r_length; r++) { maps[r] = maps[r].. 2024. 1. 6.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ˜ธํ…” ๋Œ€์‹ค JS ๋ฌธ์ œ๋งํฌ ๊ฐœ์ธ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์— ์žˆ๋Š” ๊ณผ์ œ ์ง„ํ–‰ํ•˜๊ธฐ ๋ฌธ์ œ๋ž‘ ๋น„์Šทํ•˜๋‹ค๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค ์Šคํ„ฐ๋””์› ๋ถ„์˜ ํ’€์ด ๋ฐฉ๋ฒ•์ด ์ธ์ƒ๊นŠ์—ˆ๋Š”๋ฐ ๊ทธ ํ’€์ด๋ฅผ ์ด ๋ฌธ์ œ์— ์ ์šฉํ•ด๋ณด๋ ค๊ณ  ํ–ˆ์–ด์š” 1. ์˜ˆ์•ฝ ์‹œ๊ฐ„๋“ค์€ ๋ชจ๋‘ ๋ถ„๋‹จ์œ„๋กœ ๋ณ€ํ™˜, ์‹œ์ž‘ ์‹œ๊ฐ„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. 2. ๋ฐฐ์—ด๋“ค์„ ์ˆœํšŒํ•˜๋ฉด์„œ 2-1. room_stack(์‚ฌ์šฉ ์ค‘์ธ ๋ฐฉ๋“ค์˜ ์ข…๋ฃŒ์‹œ๊ฐ„์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฐฐ์—ด)์„ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค 2-2. ํ˜„์žฌ ์˜ˆ์•ฝ ์‹œ์ž‘ ์‹œ๊ฐ„ ๊ธฐ์ค€์œผ๋กœ ์ข…๋ฃŒ๋œ ๋ฐฉ์ด ์žˆ์œผ๋ฉด, ์ข…๋ฃŒ๋œ ๋ฐฉ์„ popํ•ฉ๋‹ˆ๋‹ค 2-3. ํ˜„์žฌ ์˜ˆ์•ฝ์˜ ์ข…๋ฃŒ์‹œ๊ฐ„์„ room_stack์— pushํ•ฉ๋‹ˆ๋‹ค 2-4. room_cnt์™€ room_stack์˜ length๋ฅผ ๋น„๊ตํ•ด์„œ ํฐ ๊ฐ’์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค ์‚ฌ์‹ค room_stack์„ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„ํ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์‹œ๊ฐ„๋ณต์žก๋„ ์ธก๋ฉด์—.. 2024. 1. 5.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]๋ฏธ๋กœ ํƒˆ์ถœ JS ๋ฌธ์ œ๋งํฌ ์ „ํ˜•์ ์ธ ์ตœ๋‹จ๊ฑฐ๋ฆฌ ์ฐพ๋Š” bfs ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ 2๋ฒˆ ์ฐพ์•„์•ผ ํ•ด์„œ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค ํŠน์ • ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ 1. ์ž…๊ตฌ์—์„œ ๋ ˆ๋ฒ„๊นŒ์ง€ ๋ฐฉ๋ฌธ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ณ  2. ๋ ˆ๋ฒ„์—์„œ ์ถœ๊ตฌ๊นŒ์ง€ ๋ฐฉ๋ฌธ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค function solution(maps) { const r_length = maps.length; const c_length = maps[0].length; const dr=[0,0,-1,1]; const dc = [1,-1, 0,0]; let visited = Array.from(new Array(r_length), ()=> new Array(c_length).fill(false)); let q=[]; let start; let lever; .. 2024. 1. 4.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ˜ผ์ž์„œ ํ•˜๋Š” ํ‹ฑํƒํ†  JS ๋ฌธ์ œ๋งํฌ ํ’€์ด ๋ฐฉ๋ฒ• ๋‚˜์˜ฌ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•ด 0์„ ๋ฆฌํ„ดํ•ด์คฌ์Šต๋‹ˆ๋‹ค 1. X๊ฐ€ O๋ณด๋‹ค ๋งŽ์„ ๋•Œ 2. O๊ฐ€ X๋ณด๋‹ค 2๊ฐœ์ด์ƒ ๋งŽ์„ ๋•Œ 3. ์„ ๊ณต์ด ์ด๋ฏธ ์ด๊ฒผ๋Š”๋ฐ ํ›„๊ณต์ด ์ด์–ด์„œ ์ง„ํ–‰ํ•œ ๊ฒฝ์šฐ 4. ํ›„๊ณต์ด ์ด๋ฏธ ์ด๊ฒผ๋Š”๋ฐ ์„ ๊ณต์ด ์ด์–ด์„œ ์ง„ํ–‰ํ•œ ๊ฒฝ์šฐ ์ด๊ธฐ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋น™๊ณ ๋ผ๊ณ  ์ง€์นญํ–ˆ์Šต๋‹ˆ๋‹ค ๊ฐ€๋กœ, ์„ธ๋กœ ๋น™๊ณ  ์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ํ•จ์ˆ˜ ๋Œ€๊ฐ์„  ๋น™๊ณ  ์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค function solution(board) { // ๋‚˜์˜ฌ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ๊ตฌํ•˜๊ธฐ //1. X๊ฐ€ O๋ณด๋‹ค ๋งŽ์„ ๋•Œ //2. O๊ฐ€ X๋ณด๋‹ค 2๊ฐœ์ด์ƒ ๋งŽ์„ ๋•Œ //3. ์„ ๊ณต์ด ์ด๋ฏธ ์ด๊ฒผ๋Š”๋ฐ ํ›„๊ณต์ด ์ด์–ด์„œ ์ง„ํ–‰ํ•œ ๊ฒฝ์šฐ //4. ํ›„๊ณต์ด ์ด๋ฏธ ์ด๊ฒผ๋Š”๋ฐ ์„ ๊ณต์ด ์ด์–ด์„œ ์ง„ํ–‰ํ•œ ๊ฒฝ์šฐ let o_cnt = 0; let x_cnt = 0; for (row of bo.. 2024. 1. 3.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹น๊ตฌ ์—ฐ์Šต JS ๋ฌธ์ œ ๋งํฌ ํ’€์ด ์ด ๋ฌธ์ œ๋„ ์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค ์ฒ˜์Œ์—๋Š” (์‹œ์ž‘๊ณต๊ณผ ๋ฒฝ๋ฉด์˜ ๊ฑฐ๋ฆฌ + ๋ฒฝ๋ฉด๊ณผ ๋„์ฐฉ๊ณต์˜ ๊ฑฐ๋ฆฌ)์˜ ์ œ๊ณฑ์„ ๊ตฌํ–ˆ๋Š”๋ฐ ๊ฐ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๊ณผ์ •์—์„œ ์‹ค์ˆ˜๊ฐ€ ๋‚˜์™€์„œ ์˜ค์ฐจ๊ฐ€ ์ƒ๊ธฐ๋”๋ผ๊ตฌ์š” ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ํ’€์ด๋ฅผ ์ฐพ์•„๋ณด๋‹ˆ ์ ์„ ๋Œ€์นญ์‹œ์ผœ์„œ ๊ตฌํ•˜๋Š”๊ฑฐ์˜€์Šต๋‹ˆ๋‹ค ๋„์ฐฉ๊ณต์˜ ์ขŒํ‘œ๋ฅผ ์ƒ[0], ํ•˜[1], ์ขŒ[2], ์šฐ[3] ๋Œ€์นญ์‹œํ‚ด ๋Œ€์นญ์‹œํ‚จ ๋„์ฐฉ๊ณต์˜ ์ขŒํ‘œ์™€ ์‹œ์ž‘๊ณต ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•จ ๋Œ€์‹  ์‹œ์ž‘๊ณต์ด ๋ฒฝ๋ณด๋‹ค ๋„์ฐฉ๊ณต์„ ๋จผ์ € ๋งŒ๋‚˜๋Š” ์ƒํ™ฉ์ด๋ฉด ๊ฑด๋„ˆ๋›ด๋‹ค ์˜ˆ๋ฅผ ๋“ค์–ด ๋„์ฐฉ๊ณต์„ ์œ„์ชฝ์œผ๋กœ ๋Œ€์นญ์‹œํ‚ฌ๊ฑด๋ฐ(์‹œ์ž‘๊ณต์„ ์ƒ๋‹จ๋ฒฝ์— ๋ถ€๋”ชํžˆ๊ฒŒ ๋งŒ๋“ค๊ณ ) && ๋‘ ๊ณต์ด ๊ฐ™์€ ์„ธ๋กœ์„ ์ƒ์— ์žˆ๊ณ  && ์‹œ์ž‘๊ณต์ด ๋„์ฐฉ๊ณต ์•„๋ž˜์ชฝ์— ์žˆ๋‹ค๋ฉด => ๋ฒฝ์— ๋ถ€๋”ชํžˆ๊ธฐ ์ „์— ๋„์ฐฉ๊ณต์— ๋ถ€๋”ชํžˆ๋ฏ€๋กœ continue; ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€์‹œ๋Š” ๋ถ„๋“ค์€ ์•„๋ž˜ ๋งํฌ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!! https://sil.. 2024. 1. 3.