koans clear;
testbuilder clear;
mini-hackathon.makeApos ~ing;
ใ๋ฒ์จ ์ธ ๋ฒ์งธ ์ฃผ๊ฐ ๋๋ฌ๋ค. ๋ญ๊ฐ, ์ธ ๋ฒ์งธ ์ฃผ๋ผ๊ณ ํ๋๊น ์์ฒญ ๋ง์ ์๊ฐ์ด ํ๋ฅธ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ์๊ฐํด ๋ณด๋ ํ ๋ฌ๋ ์ง๋์ง ์์ ์์ ์ด๋ค. ๋ง๊ฐ์ด ๊ต์ฐจํ๋ค. ๋ค์ ์ฃผ ์์ผ๋ก Lv.3์ ๋๋ด๊ณ ์ถ๋ค. ์ก์ ๋์ ์ค์ผ์ค์ด 3์ ์ค์ ์ด๋จธ์๋ธ ํน์ 4์ ๋ง ์ด๋จธ์๋ธ์ธ๋ฐ ๊ณ ์ ํ ๋ฌ ๋ฐ๋ฐ์์ฐจ์ด๋ ๋์ง ์์ง๋ง....... ๊ณ ๋ฏผ์ด๋ค. ํ ๋ฌ ๋ฐ ์์ ๋ค๋ฅธ ๊ณต๋ถ๋ฅผ ๋ ํ๊ณ ๋ค์ด๊ฐ์ง, 3์์ ๋นจ๋ฆฌ ์์ํด์ ๋นจ๋ฆฌ ๋๋ ์ง.
์ด๋๋ฒค์ค ๋ฌธ์ ์ ๋ํด ๋ง์ด ๊ณ ๋ฏผํ์๋๋ฐ, ์ผ๋จ์ ์ง๋๋ฅผ ๋ค ๋นผ๊ณ ๋์ค์ ์์ํ๋ ๊ฒ์ด ๋์ ๊ฒ ๊ฐ์์ ๋ฏธ๋ค๋ค. koans ์ด๋๋ฒค์ค ๋ฌธ์ ๋ฅผ ํ๊ธด ํ๋๋ฐ ๋๋ฌด ์ด๋ ค์์ ๊ณ์ ์์ง๋์ด ๋ถ๋ค์ ๋์์ ๊ณ์ ๋ฐ๊ฒ ๋๋๊น ๋ด ์์ ๋ ๊ทธ๊ฒ ์ซ๊ธฐ๋ ํ๊ณ , ์ค์ค๋ก์ ํ์ผ๋ก ํ๊ณ ์ถ๊ธฐ๋ ํ๊ณ .
ใํ๋ฉด ํ ์๋ก ์ฌ๋ฏธ์๋ ๊ฒ ๊ฐ๋ค. ์, ํ์คํ ๋ฐฑ์๋๋ณด๋ค ํ๋ก ํธ์๋๊ฐ ๋ ์ฌ๋ฏธ์๊ธด ํ์ง๋ง ๋ฐฑ์๋์ ๋งค๋ ฅ๊ณผ ํ๋ก ํธ์๋์ ๋งค๋ ฅ์ ์ ๋ฐ๋์ด๊ธฐ ๋๋ฌธ์ ๋ ๋ค ๋์น๊ณ ์ถ์ง ์๋ค. ๋ฐ์ดํฐ ๊ด๋ฆฌํ๋ ๊ฒ๋ ๋จธ๋ฆฌ ์์ฒญ ์ํ๊ธด ํ๋ฐ ํด ๋๊ณ ๋ณด๋ฉด ๋ฟ๋ฏํ๋ค. ์ ๋ฌด์ฉ ๋ฐ์ดํฐ ์ ๋ฆฌ๋ฒฝ(??)์ด ์์ด์ ๋ ๊ทธ๋ฐ ๊ฒ์ผ ์๋. ํ ๋ฌ ๊ฝ ์ฑ์ด ํ์ ์๊ฐ์ ๋ ๋ค๋ฅผ ๊ฒ์ด๋ค. ๋ค์ ์ฃผ์ Lv.4์๋ง ์ง์คํ ์ ์๊ฒ ์๊ณ ๋ฆฌ์ฆ, Lv.3, ํ ์ด ๋ฌธ์ ์ ๋ถ ํด ๋์์ผ์ง. (๊ฐ๋ฅํ ๊น?)
๋งฅ๋ถ์ด ๋๋ฌด ์ฌ๊ณ ์ถ๋ค. ๋งฅ๋ถ. ๋งฅ๋ถ์ด๋ ์์ดํจ๋๋ ํ์ํด. 6์์๋ ๋งฅ๋ถ์ ์ด ์ ์์ ํ ๋ฐ, ๋๋ ์ง๊ธ ๋น์ฅ ํ์ํด. ๋งฅ๋ถ ํ๋ก 16์ธ์น๊ฐ ํ์ํ๋ค๊ณ . ๋ด๊ฐ ์ข ๋์์ด ์ทจํฅ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ค๊ทธ๋ณด๋ค ์ค๋ฒ๊ฐ ํจ ์์๊ณ ํจ ๊ณ ๊ธ์ค๋ฝ๋ค. ์ฌ๊ณ ์ถ์ด....... ์์งํ ํจ ์ฌ๋ฉด ๋ช ๋ ์ ์ธ ํ ๋ฐ (์ง๊ธ ๊ทธ๋จ ํ์๋ก 3~4๋ ) ๋งฅ๋ถ ์ง๋ฅด๊ณ ์ถ๋ค. ์์ ์์ ์ ํ ๊ฒ๋ ์๋๋ผ ๊ทธ๋ฅ ๋งฅ๋ถ์ด๊ธฐ๋ง ํ๋ฉด ๋ ํ ๋ฐ. ์๋ ์ ํ์ปท์ด ๋ถ์ด ์๋ ๋งฅ๋ถ์ ์ํ๋ค๋ฉด ์ง๊ธ์ ๊ทธ๋ฅ ๋งฅ๋ถ์ด์ผ. ๊ฐ๊ฒฉ๋ ๋ ์ค์๋ค๊ณ . ๋ฑ ๋ฐฑ์ค์ญ๋ง ๋ชจ์ ๋๊ณ ์๊ฐํด ๋ณด์. ๋ฐฑ์ค์ญ์ด๋ฉด ํ ๋ถ๋ก 220 ๋น๋น ์๋ ์์ ๊ฒ ๊ฐ์๋ฐ.
koans ํ๋ฉด์ ๋๋ ์ ๊ตฌ์ ๋ถ์ ์ผ ์ค ๋๋ค์ ์๊ฐํฉ๋๋ค..
1. new Array๋ ๋น ์์ 10 ๊ฐ ๋ฐํ
2. array.slice()๋ end argument๊ฐ 0์ผ์ ๋น ๋ฐฐ์ด
3. array.slice()๋ start argument๊ฐ array.length ๋์ด๊ฐ๋ฉด ๋น ๋ฐฐ์ด
4. arr.slice()๋ IMMUTABLE
5. arr.pop, shift๋ ๋ฐํํ ๋ ์์ ์์ฒด๋ฅผ ๋ฐํ
6. ๋งค๊ฐ๋ณ์๊ฐ 1๊ฐ๋ผ๋ฉด ์ ๋ฌ์ธ์๊ฐ ์๋ฌด๋ฆฌ ๋ง์๋ 1๊ฐ๋ง ๋๋ค.
7. ๋งค๊ฐ๋ณ์ 1, 2๊ฐ ์์ ๋, ๋ฆฌํด ๊ฐ์ด 2๋ง ์ค์ ์ ํด ๋์๋ค๋ฉด,
์ ๋ฌ์ธ์๋ฅผ ํ๋๋ง ์ผ์ ๋์ undefined, 2 ๊ฐ ์ ๋ถ ์ผ์ ๋ 2๋ง ๋ฐฐ์ถ๋๋ค.
(1์ undefined ๊ฐ์ด ๋จ)
8. arr.every()๋ ์ฝ๋ฐฑ ํจ์๋ฅผ ๋๋ฆฐ ๊ฐ์ด ๋ชจ๋ true์ฌ์ผ ture๋ก ๋ฐํํฉ๋๋ค.
9. arr.some()๋ ์ฝ๋ฐฑ ํจ์๋ฅผ ๋๋ฆฐ ๊ฐ ์ค ํ๋๋ผ๋ true๋ผ๋ฉด true๋ก ๋ฐํํฉ๋๋ค.
10. Array(5)๋ empty๋ฅผ 5๊ฐ ๋ฐํํ๊ณ , .join(" " + a)์ ๋๋ฆฌ๊ฒ ๋๋ฉด,
๋ฐฐ์ด์ ๊ธธ์ด ์ฌ์ด์ฌ์ด์ " "a๋ฅผ ๋ฃ๊ฒ ๋๋ฏ๋ก, // a a a a๊ฐ ๋๋ค.
11. getFullYear() ํจ์๋ ์ฌํด์ ๋
๋๋ฅผ ๋ฐํํ๋ค.
12. ์ด๋ ํ ๊ฐ์ฒด์ ์์ ์ ๋ฌด๊ฐ ๊ถ๊ธํ๋ค๋ฉด 'key' in ๊ฐ์ฒด์ด๋ฆ ํ๋ฉด ๋๋ค.
๊ฒฐ๊ณผ๋ ๋ถ๋ฆฌ์ธ์ผ๋ก.
13. ํด๋์ค๋ ํ๋ง ์งค ๋ฟ, ํด๋์ค ์์ ์ธ์คํ
์ค ๊ฐ์ฒด๋ ๋ง์๋๋ก ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
14. ํด๋ก์ ํจ์๋ ๋ณ๊ฒฝํ ์ ์๋ค.