CS/Algorithm
[Algorithm-JS] ํ๋ก๊ทธ๋๋จธ์ค ์ฝํ Lv2 - ๊ธฐ๋ฅ๊ฐ๋ฐ(array)
โ๏ธ ๋ฌธ์ ๋งํฌhttps://school.programmers.co.kr/learn/courses/30/lessons/42586?language=javascript ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.krโ๏ธ ๋ฌธ์ ์์ฝ๋ฐฐํฌ๋์ด์ผ ํ๋ ์์ ๋ค์ด ์์๋๋ก ๋ด๊ธด ๋ฐฐ์ด progresses๊ฐ ์กด์ฌํ๋ฉฐ ๊ฐ ์์ ์ ๊ฐ์ ๋ฐฐํฌ๋ ์ ๋๋ฅผ ์๋ฏธํ๋ค. ๋งค์ผ ์ํํ ์ ์๋ ์์ ์ ์๋๊ฐ ๋ด๊ธด ๋ฐฐ์ด speeds๋ ์กด์ฌํ๋ค. ๊ฐ ์์ ๋ค์ ๋ฐฐํฌ ์์๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋จผ์ 100% ๋ฐฐํฌ ์ค๋น๊ฐ ๋๋๋ผ๋ ์์ ์์ ์ด ๋ฐฐํฌ ์ค๋น๊ฐ ๋์ง ์๋๋ค๋ฉด ๋ฐฐํฌ๊ฐ ๋ถ๊ฐ๋ฅํ๋ค. ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ ๋ ์ ..
[Algorithm-JS] ํ๋ก๊ทธ๋๋จธ์ค ์ฝํ Lv2 - ์์(hashMap)
โ๏ธ ๋ฌธ์ ๋งํฌhttps://school.programmers.co.kr/learn/courses/30/lessons/42578?language=javascript ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.krโ๏ธ ๋ฌธ์ ์์ฝ[์์์ ์ด๋ฆ, ์์์ ์ข ๋ฅ]๋ก ์ด๋ฃจ์ด์ง 2์ฐจ์ ๋ฐฐ์ด clothes๊ฐ ์กด์ฌํ๋ฉฐ, ์ฝ๋๋ ํ๋ฃจ์ ์ต์ ํ๊ฐ์ง์ ์ท์ ์ ์ด์ผ ํ๋ค. ๋จ, ๊ฐ์ ์ข ๋ฅ์ ์ท์ ์ฌ๋ฌ๋ฒ ์ ์ ์ ์๋ค. ์ฝ๋๊ฐ ์ ์ ์ ์๋ ์ท์ ์กฐํฉ์ ์๋ฅผ ๋ฐํํด๋ผ.๐ด ์ ํ์ฌํญclothes์ ๊ฐ ํ์ [์์์ ์ด๋ฆ, ์์์ ์ข ๋ฅ]๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.์ฝ๋๊ฐ ๊ฐ์ง ์์์ ์๋ 1๊ฐ ์ด์ ..
[Algorithm-JS] ํ๋ก๊ทธ๋๋จธ์ค ์ฝํ Lv2 - ์ ํ๋ฒํธ ๋ชฉ๋ก(some, indexOf, startsWith)
โ๏ธ ๋ฌธ์ ๋งํฌhttps://school.programmers.co.kr/learn/courses/30/lessons/42577?language=javascript ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.krโ๏ธ ๋ฌธ์ ์์ฝ์ ํ๋ฒํธ๊ฐ ๋์ด๋ ๋ฐฐ์ด phone_book์ด ์๊ณ , ํน์ ์ ํ๋ฒํธ๊ฐ ๋ค๋ฅธ ์ ํ๋ฒํธ์ ์ ๋์ด์ ์์นํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๋ฉด false๋ฅผ ๋ฐํ, ์๋ค๋ฉด true๋ฅผ ๋ฐํ๐ด ์ ํ์ฌํญphone_book์ ๊ธธ์ด๋ 1 ์ด์ 1,000,000 ์ดํ์ด๋ค.๊ฐ ์ ํ๋ฒํธ์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ด๋ค.๊ฐ์ ์ ํ๋ฒํธ๊ฐ ์ค๋ณตํด์ ๋ค์ด์์ง ์๋ค.๐ฉ ์ ๊ทผ๋ฒํด์ ๋ฌธ์ ๋ผ๊ณ ..
[Algorithm-JS] ํ๋ก๊ทธ๋๋จธ์ค ์ฝํ Lv1 - ์์ฃผํ์ง ๋ชปํ ์ ์(hashMap)
โ๏ธ ๋ฌธ์ ๋งํฌhttps://school.programmers.co.kr/learn/courses/30/lessons/42576 ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.krโ๏ธ ๋ฌธ์ ์์ฝn๋ช ์ ์ ์๊ฐ ๋ง๋ผํค์ ๋ฐ๊ณ n-1๋ช ์ ์ ์๊ฐ ์์ฃผ๋ฅผ ํ๋ค. ์์ฃผ๋ฅผ ํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ ๋ฐํํ์ฌ๋ผ.์ ๋ ฅ : ์ ์๋ค์ ์ด๋ฆ์ด ๋ฌธ์์ด๋ก ๋ค์ด๊ฐ ๋ฐฐ์ด participant, ์์ฃผํ ์ ์์ ์ด๋ฆ์ด ๋ค์ด๊ฐ ๋ฐฐ์ด์ธ completion๐ด ์ ํ์ฌํญ1๋ช ์ด์ 100,000๋ช ์ดํ์ฐธ๊ฐ์ ์ค์๋ ๋๋ช ์ด์ธ์ด ์์ ์ ์๋ค.๐ฉ ์ ๊ทผ๋ฒ1. ์๊ฐ ์ ํ์ด ์์๊ธฐ ๋๋ฌธ์ 10๋ง๋ช ์ participa..
[์๊ณ ๋ฆฌ์ฆ] ๋ธ๋ฃจํธ ํฌ์ค(brute force) - ์์ (์ ์ฒด) ํ์
์์ ํ์์ด๋ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ํ์ํ๋ฉฐ ์กฐ๊ฑด์ ์ถฉ์กฑ๋๋ ๊ฒฐ๊ณผ๋ง ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฒ์ด๋ค. โ๏ธ ๋ธ๋ฃจํธ ํฌ์ค ์ฅ์ ์๊ณ ๋ฆฌ์ฆ์ ์ค๊ณํ๊ณ ๊ตฌํํ๊ธฐ๊ฐ ์ฝ๋ค.๋ชจ๋ ๋ฒ์๋ฅผ ๋ค ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ฌด์กฐ๊ฑด ์ ๋ต์ ์ฐพ์ ์ ์๋ค.๋ณต์กํ ์๊ณ ๋ฆฌ์ฆ ์์ด ๋น ๋ฅด๊ฒ ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค.โ๏ธ ๋ธ๋ฃจํธ ํฌ์ค ๋จ์ ์ธ๋ ฅ๊ฐ์ด ์ปค์ง ๊ฒฝ์ฐ, ์๊ณ ๋ฆฌ์ฆ์ ์คํ ์๊ฐ์ ๋งค์ฐ ์ค๋ ๊ฑธ๋ฆด ์ ์๋ค.๋ฉ๋ชจ๋ฆฌ์ ํจ์จ๋ฉด์์ ๋งค์ฐ ๋นํจ์จ์ ์ด๋ค.โ๏ธ ๋ธ๋ฃจํธ ํฌ์ค ์ข ๋ฅ์ ํ ๊ตฌ์กฐ : ์์ฐจ ํ์๋น์ ํ ๊ตฌ์กฐ : ๋ฐฑํธ๋ํน, DFS, BFSโ๏ธ ๋ธ๋ฃจํธ ํฌ์ค ์์ ๋ฌธ์ ์๋์ ๊ฐ์ ์ซ์๋ฐฐ์ด์ด ์กด์ฌํ ๋, ์ซ์์ ๊ฐ์๋ฆฟ์์ ํฉ์ด ๊ฐ์ฅ ํฐ ์๋ฅผ ์ถ๋ ฅํ๋ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํ์.(๋จ, ๊ฐ ์๋ฆฟ์์ ํฉ์ด ๊ฐ๋ค๋ฉด, ๊ธฐ์กด ์ซ์๊ฐ ๋ ํฐ ๊ฐ์ ์ถ๋ ฅ -> 345, 543์ด๋ผ๋ฉด 543์ ์ถ๋ ฅ)le..