[JavaScript/section 5] 08 - ๋ชจ๋“  ์•„๋‚˜๊ทธ๋žจ ์ฐพ๊ธฐ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ 08 - ๋ชจ๋“  ์•„๋‚˜๊ทธ๋žจ ์ฐพ๊ธฐ(ํ•ด์‰ฌ, ํˆฌํฌ์ธํ„ฐ, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ) S๋ฌธ์ž์—ด์—์„œ T๋ฌธ์ž์—ด๊ณผ ์•„๋‚˜๊ทธ๋žจ์ด ๋˜๋Š” S์˜ ๋ถ€๋ถ„๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ž์ด๋‹ค. ๋‚˜์˜ ํ’€์ด ๋ฐฉ๋ฒ• ์•„๋‚˜๊ทธ๋žจ์ด ๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํ•ด์‰ฌ์˜ ํŠน์ง•์„ ์‚ฌ์šฉํ–ˆ๊ณ , ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๋ฐฉ์‹๊ณผ slice() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๋‚˜์„œ ์ž˜ ํ’€์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ.. ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ๋ณด๋‹ˆ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๊ตฌํ•˜๋Š” ๋ถ€๋ถ„์— ์žˆ์–ด์„œ ์ด์ค‘ for ๋ฌธ์„ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์„ฑ(์‹œ๊ฐ„ ๋ณต์žก๋„) ์ธก๋ฉด์—์„œ๋Š” ์ข‹์ง€ ์•Š๋‹ค๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. for ๋ฌธ์„ ๋Œ๊ธฐ ์ „์— t์˜ ํ•ด์‰ฌ ๊ฐ’์„ ๊ตฌํ•œ๋‹ค. for ๋ฌธ์„ ๋Œ๋ฉด์„œ s๋ฌธ์ž์—ด์— slice() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ i ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ t๋ฌธ์ž์—ด ๊ธธ์ด + i ์ „๊นŒ์ง€๋ฅผ ์ž˜๋ผ์ค€ ํ›„ str ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค. (๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ..
[JavaScript/section 5] 07 - ์•„๋‚˜๊ทธ๋žจ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ 07 - ์•„๋‚˜๊ทธ๋žจ(ํ•ด์‰ฌ) Anagram์ด๋ž€ ๋‘ ๋ฌธ์ž์—ด์ด ์•ŒํŒŒ๋ฒณ์˜ ๋‚˜์—ด ์ˆœ์„œ๋Š” ๋‹ค๋ฅด์ง€๋งŒ ๊ทธ ๊ตฌ์„ฑ์ด ์ผ์น˜ํ•˜๋ฉด ๋‘ ๋‹จ์–ด๋Š” ์•„๋‚˜๊ทธ๋žจ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋‘ ๊ฐœ์˜ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋‘ ๋‹จ์–ด๊ฐ€ ์•„๋‚˜๊ทธ๋žจ์ธ์ง€ ํŒ๋ณ„ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ•™๊ธ‰ ํšŒ์žฅ ๋ฌธ์ œ์—์„œ์™€ ๊ฐ™์ด str1์„ ์ฐจ๋ก€๋Œ€๋กœ ๋Œ๋ฉฐ Map ๊ฐ์ฒด์— key๋ฅผ ์ด์šฉํ•ด value๋ฅผ ์ €์žฅํ•œ๋‹ค. str2๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋Œ๋ฉฐ Map ๊ฐ์ฒด์— key๊ฐ€ ์กด์žฌํ•˜์ง€์•Š๊ฑฐ๋‚˜ get(key) ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๋ฐ˜ํ™˜๋ฐ›์€ ๊ฐ’์ด 0์ด๋ผ๋ฉด 'NO'๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ์œ„ ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜์ง€ ์•Š์œผ๋ฉด get() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ key์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋ฐ›ํ™˜๋ฐ›์•„ -1์„ ํ•ด์ค€๋‹ค. set() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ Map ๊ฐ์ฒด์— key์™€ ๋ณ€๊ฒฝ๋œ value๋ฅผ ์ €์žฅํ•ด์ค€๋‹ค. ๐Ÿ“ ํ’€์ด function solution(str1, str2) ..
[JavaScript/section 5] 06 - ํ•™๊ธ‰ ํšŒ์žฅ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ 06 - ํ•™๊ธ‰ ํšŒ์žฅ(ํ•ด์‰ฌ) ํˆฌํ‘œ์šฉ์ง€์—๋Š” ๋ฐ˜ ํ•™์ƒ๋“ค์ด ์ž๊ธฐ๊ฐ€ ์„ ํƒํ•œ ํ›„๋ณด์˜ ๊ธฐํ˜ธ(์•ŒํŒŒ๋ฒณ)๊ฐ€ ์“ฐ์—ฌ์ ธ ์žˆ์œผ๋ฉฐ ์„ ์ƒ๋‹˜์€ ๊ทธ ๊ธฐํ˜ธ๋ฅผ ๋ฐœํ‘œํ•˜๊ณ  ์žˆ๋‹ค. ์„ ์ƒ๋‹˜์˜ ๋ฐœํ‘œ๊ฐ€ ๋๋‚œ ํ›„ ์–ด๋–ค ๊ธฐํ˜ธ์˜ ํ›„๋ณด๊ฐ€ ํ•™๊ธ‰ ํšŒ์žฅ์ด ๋˜์—ˆ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋‚˜์˜ ํ’€์ด ๋ฐฉ๋ฒ• Map ๊ฐ์ฒด๋Š” [ํ‚ค, ๊ฐ’] ํ˜•ํƒœ์˜ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๊ฐ์ฒด๋กœ ํ‚ค ๊ฐ’์€ ์œ ์ผํ•ด์•ผ ํ•˜์ง€๋งŒ ๊ฐ’์€ ์ค‘๋ณต, ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ˆœ์„œ๊ฐ€ ์ƒ๊ด€์ด ์—†๋‹ค. ๊ฐ์ฒด์™€ ๋น„์Šทํ•ด๋ณด์ด์ง€๋งŒ Map ๊ฐ์ฒด๋Š” ํ‚ค์— ๋‹ค์–‘ํ•œ ์ž๋ฃŒํ˜•์„ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ์ ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. Map ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค. (new Map()) ๋ฌธ์ž์—ด์„ ์ฐจ๋ก€๋Œ€๋กœ ๋Œ๋ฉฐ has() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ key๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ์„ ํ•œ๋‹ค. key๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ๋จผ์ € get() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ key์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜๋ฐ›์•„ + 1์„ ํ•ด์ค€๋‹ค. set..
_์„ฑํ˜ธ_
'ํ•ด์‰ฌ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก