6. ์ ๋ ฌ (Sorting) Codility Lesson ํ๊ตญ์ด ์ ๋ฆฌ๋ณธ (JavaScript ver.)
์ ๋ ฌ(Sorting)์ด๋?์ ๋ ฌ์ด๋ ๋ฐ์ดํฐ๋ฅผ ํน์ ํ ์์๋๋ก ๋ฐฐ์นํ๋ ๊ณผ์ ์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ซ์ ๋๋ ๋ฌธ์์ด์ ๊ฐ์ ๋ฐ๋ผ ์ ๋ ฌํ๋ค. ์๋ฅผ ๋ค์ด, ํ์์ ํค ์์๋๋ก ์ ๋ ฌํ๊ฑฐ๋, ๋์๋ฅผ ์ธ๊ตฌ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ์ ์๋ค.๋ค์๊ณผ ๊ฐ์ ๋ฐฐ์ด์ด ์๋ค๊ณ ๊ฐ์ ํ์.A = [5, 2, 8, 14, 1, 16];์ด๋ฅผ ์ซ์ ํฌ๊ธฐ ์์๋ก ์ ๋ ฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.A = [1, 2, 5, 8, 14, 16];์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ฐ๋ผ ์ฐจ์ด๊ฐ ์๋ค. ์ฌ๊ธฐ์๋ ๋ํ์ ์ธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ดํด๋ณธ๋ค.1. ์ ํ ์ ๋ ฌ (Selection Sort)์์ด๋์ด: ๋ฐฐ์ด์์ ๊ฐ์ฅ ์์ ์์๋ฅผ ์ฐพ์ ์ฒซ ๋ฒ์งธ ์์น์ ๊ตํํ๋ ์์
์ ๋ฐ๋ณตํ๋ค.JavaScript ์ฝ๋:function selectionSort(A) { let n..
4. ์์ ๊ฐ์ ์ธ๊ธฐ (Counting Elements) Codility Lesson ํ๊ตญ์ด ์ ๋ฆฌ๋ณธ (JavaScript ver.)
์์ ๊ฐ์ ์ธ๊ธฐ๋?๋ฐฐ์ด์ ํ์ฉํ์ฌ ์ซ์ ์ํ์ค๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฐ์๋ ์ซ์ aโ, aโ, ..., aโโโ๋ฅผ ๋ฐฐ์ด์ ์ธ๋ฑ์ค์ ๋ง์ถฐ ์ ์ฅํ๋ค.์๋ฅผ ๋ค์ด:let A = [4, 2, 4, 5];// A[0] = 4, A[1] = 2, A[2] = 4, A[3] = 5๊ทธ๋ฌ๋ ์์๋ฅผ ์ง์ ์ ์ฅํ๋ ๋์ , ๊ฐ ์ซ์์ ๋ฑ์ฅ ํ์๋ฅผ ์ธ๋ ๋ฐฐ์ด ์ ๋ง๋ค ์๋ ์๋ค.์ด ๊ฒฝ์ฐ, ๋ฐฐ์ด count[] ๋ ํด๋น ๊ฐ์ด ๋ฑ์ฅํ ํ์๋ฅผ ์ ์ฅํ๋ค.count[2] = 1; // ์ซ์ 2๋ ํ ๋ฒ ๋ฑ์ฅcount[4] = 2; // ์ซ์ 4๋ ๋ ๋ฒ ๋ฑ์ฅcount[5] = 1; // ์ซ์ 5๋ ํ ๋ฒ ๋ฑ์ฅ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ํน์ ์ซ์๊ฐ ๋ฑ์ฅํ ํ์๋ฅผ O(1) ์๊ฐ์ ํ์ธํ ์ ์๋ค.1. O(n + m) ์๊ฐ..
์๋ฃ๊ตฌ์กฐ(Data Structure) ์ด์ ๋ฆฌ
๋ํ์ ์๋ฃ๊ตฌ์กฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆ ์ ๋ฆฌ์ต๊ทผ์ ์๋ฃ๊ตฌ์กฐ ๋ถ๋ฅ ๋์, ๋ฐฐ์ด(array), ์ฐ๊ฒฐ ๋ฆฌ์คํธ(linked list), ์คํ(stack), ์ฌ๊ทํจ์์ ์คํ ๋ฉ๋ชจ๋ฆฌ, ํ(queue), ๋ฉํฐ์ค๋ ๋ฉ๊ณผ ํ์ ๋ํด ๋ค์ ๊ณต๋ถํ๋ค. ์ด ์ธ์๋ ํด์ํ
์ด๋ธ, ๊ทธ๋ํ, ํธ๋ฆฌ, ํ ๋ฑ ์ค์ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ํฌํจํด ์ค์ ์๋ฃ๊ตฌ์กฐ 8๊ฐ๋ฅผ ์ ๋ฆฌํด๋ณด๋ คํ๋ค. 0. ์๋ฃ๊ตฌ์กฐ ๋ถ๋ฅ ๋์์๋ฃ๊ตฌ์กฐ๋ ํฌ๊ฒ ์ ํ(Linear) ์๋ฃ๊ตฌ์กฐ์ ๋น์ ํ(Non-linear) ์๋ฃ๊ตฌ์กฐ๋ก ๋ถ๋ฅ๋๋ค์ ํ ์๋ฃ๊ตฌ์กฐ:๋ฐฐ์ด, ์ฐ๊ฒฐ ๋ฆฌ์คํธ, ์คํ, ํ ๋ฑ์ด ๋ํ์ ํน์ง: ๋ฉ๋ชจ๋ฆฌ ์์ ์ฐ์์ ๋๋ ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉฐ, ์ฝ์
/์ญ์ ์ฐ์ฐ์ด ํ์ชฝ ๋ ๋๋ ์ค๊ฐ์์ ์ด๋ฃจ์ด์ง๋น์ ํ ์๋ฃ๊ตฌ์กฐ:ํธ๋ฆฌ, ํ, ๊ทธ๋ํ ๋ฑ์ด ์์ผ๋ฉฐ, ๊ณ์ธต์ ๋๋ ๋คํธ์ํฌ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํน์ง: ..