[Clojure] ๋ฒกํฐ
๋ฒกํฐ๋ ํด๋ก์ ์์ ์ ๊ณตํ๋ ๋ด์ฅ ๋ฐฐ์ด ํ์
์ด๋ค.
๋๊ดํธ๋ก ๊ฐ์ผ ์ํ์ค๋ก ํํ๋๋ค.


๊ทผ๋ฐ ๋๋ถ๋ถ์ ํจ์ํ ์ธ์ด๋ค์ด ๊ทธ๋ ๋ฏ์ด, ํด๋ก์ ๋ ํ์
๊ฒ์ฌ๊ฐ์๊ฑธ ์ ๋๋ก ์ํ๋ค.
๊ทธ๋์ ์ ์ ๋ฒกํฐ์ ๋ฌธ์์ด๊ฐ์๊ฑธ ๋ผ์๋๋ ์ ๋๋ค.

์ด๋ฐ๊ฒ ๊ผด๋ณด๊ธฐ ์ซ๋ค๋ฉด ์์ฑ์ฉ ํจ์๋ฅผ ์ฐ๋ฉด ๋๋ค.
vector-of
๋ฒกํฐ ์์ฑ์ฉ ํจ์๋ค. ์ฒซ๋ฒ์งธ ์ธ์๋ก ํ์
๊ฐ์ ๋ฐ๊ณ , ํ์
๊ฒ์ฌ๋ฅผ ํด์ค๋ค๋ ๊ฒ ํน์ด์ฌํญ์ด๋ค.
(vector-of ํ์
์ธ์1 ์ธ์2...)


nthํจ์
์ธ๋ฑ์ค๋ฅผ ๋ฐ๊ณ ํด๋น ์์๋ฅผ ๋ฐํํ๋ค.
(nth ๋ฒกํฐ ์ธ๋ฑ์ค)


๊ทผ๋ฐ ์ ๊ทผ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด ์์ธ๋ฅผ ๋์ง๋ค.


์ด๋ฐ ์์ธ์ํฉ์ ๋ง์ผ๋ ค๋ฉด, ์ธ์๋ฅผ ํ๋ ๋ ์ค์ ์์ธ๋ฐ์์ ๋ฐํ ํํ์์ ์ ํด์ค ์ ์๋ค.
(nth ๋ฒกํฐ ์ธ๋ฑ์ค ์์ธํํ์)


getํจ์
์ด๊ฒ๋ ์ธ๋ฑ์ค๋ฅผ ๋ฐ๊ณ ํด๋น ๊ฐ์ ๋ฐํํ๋ค.
nth์ ๋ญ ์ฐจ์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค.
(get ๋ฒกํฐ ์ธ๋ฑ์ค)
(get ๋ฒกํฐ ์ธ๋ฑ์ค ์์ธํํ์)



conj ํจ์
๋ฒกํฐ ๋ค์ ์์๋ฅผ ์ถ๊ฐํ๋ค.
๋ฆฌ์คํธ์ ๋ค๋ฅด๊ฒ ๋ฒกํฐ๋ ๋ค์์ ์ฝ์
์ด๋ ์ญ์ ๋ฅผ ์ํํ๋ค.
(conj ๋ฒกํฐ ๊ฐ1 ๊ฐ2...)



popํจ์
๋ฒกํฐ ๋ค์ ์ธ์๋ฅผ ํ๋ ์ ๊ฑฐํ๋ค.
(pop ๋ฒกํฐ)


์ฐธ์กฐ
https://www.tutorialspoint.com/clojure/clojure_vectors.htm
https://clojuredocs.org/clojure.core/get