[Python] Hash
ํ์ด์ฌ์์ hash๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ๊ณผ, ์ ์์ ์ ๋ํด์ ์ ๋ฆฌํด๋ณธ๋ค.
Hash
hash๋ ๋ง ๊ทธ๋๋ก ๊ฐ์ ํด์ฑํ๋ ๊ฒ์ ๋งํ๋ค.
ํ์ด์ฌ์์๋ ์ ์ญํจ์ hash๋ฅผ ํตํด ์์์ ๊ฐ๋ค์ ์ ์ ํํ๋ก ํด์ฑํ ์ ์๋ค.

๊ทธ๋ผ ์ด๊ฑธ ์ด๋จ๋ ์ฃผ๋ก ์ฌ์ฉํ ๊น?
๋ฐ๋ก ํด์ํ
์ด๋ธ dict์ ๊ฐ์ ๊ตฌ์กฐ์์ ํค๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ๋ค.
๋ง์ฝ ์ปค์คํ ํด๋์ค ํ์ ์ ์ ์ํ๊ณ ๊ทธ ํ์ ์ ๊ฐ์ dict์ ํค๋ก ๋๊ธฐ


์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
hash๊ฐ ์ ์๋์ง ์์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋ผ ๋ณดํต ์ด๋ฌํ ํํ๋ก ํด์๋ฅผ ๊ตฌํํ ์ ์๋ค.
__hash__๋ ํน์ํ๊ฒ ์์ฝ๋, ํด์๋ฅผ ์ํ ์ฐ์ฐ์ ํจ์๋ช
์ด๋ค.
๋ด๋ถ์ ๊ฐ๋ค์ ํํ๋ก ์ฎ์ด์ ํด์ฑํ๋๋ก ํ๋ค.

๊ทธ๋ผ ์ผ๋จ์ ์ ๋์ํ๋ค.
๊ฐ ์ฐธ์กฐ๋ก ์ธํ ๋ถ์์ฉ
์ขํ(Point)์ ๊ฐ์ ๋ฐ์ดํฐ์ฑ ํ์
์ ๋ค๋ฃจ๋ค๋ณด๋ฉด, ํด์ํ
์ด๋ธ์ ํค๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ๋ ์ ์ง๋ ์์ ๊ฒ์ด๋ค.
์ด์ ๋ํด์ ์ข ์์๋๋ฉด ์ข์ ์์ธ์ผ์ด์ค๊ฐ ์๋๋ฐ, ๋ค์ ์์์ฝ๋๋ฅผ ๋ณด์.
์ขํ๊ฐ ํ๋๋ก ๋์
๋๋ฆฌ์ ๊ฐ์ ๋ฃ๊ณ , ๊ทธ ์ง์ญ ์ขํ๊ฐ์ ๋ณ๊ฒฝํ ๋ค์์ ๋ค์ ์กฐํ๊ฐ ์ด๋ป๊ฒ ๋๋์ง๋ฅผ ํ
์คํธํด๋ณด๋ ์ฝ๋๋ค.
์ด๋ป๊ฒ ๋์ํ ๊ฒ ๊ฐ์๊ฐ?
์ง์ญ๋ณ์ p๋ง ๋ฐ๋์์ผ๋ in ์ฐ์ฐ์๋ ์๋ค๊ณ ๋ฐ ๊ฒ ๊ฐ๋ค.
ํ์ง๋ง ๊ทธ๋ ์ง ์๋ค.
๋์์ด ์ข... ๋ฏธ๋ฌํ ๋ถ๋ถ๋ค์ด ์๋ค.
in ํค์๋๋ ๋ชป์ฐพ์๋ค๊ณ ๋จ๋๋ฐ, ์ค์ ๋ก ๋์
๋๋ฆฌ ์์๋ 100์ผ๋ก ๋ฐ๋ x ๊ฐ์ด ๋ฐ์๋์ด์๋ค!
๋ณต์ฌ๊ฐ ์๋๋ผ ์ฐธ์กฐ๋ถํฐ ๋จ๊ณ ๋ณด๋ ํ์ด์ฌ์ ๊ธฐ๋ฌํ ๋์์ด ๋ถ๋ฌ๋ธ ๋ฏธ๋ฌํ ๋ฒ๊ทธ์ธ๋ฐ, ํด์๋ ํค๊ฐ์ x๊ฐ 1์ผ๋๋ก ๋งค๊ฒจ์ ธ์์ง๋ง, ์ง์ญ๋ณ์ p๋ฅผ ๋ฐ๊ฟ์ผ๋ก ์ธํด์ ์ฐธ์กฐ๋ก ์ฐ๊ฒฐ๋ ๋์ ๋๋ฆฌ ๋ด๋ถ ๊ฐ์ฒด๊น์ง ๋ณ๊ฒฝ๋ ๊ฒ์ด๋ค.

์ฌ๊ธฐ์ ๋ํ ๊ฐ์ฅ ๋ชจ๋ฒ์ ์ธ ํด๊ฒฐ์ฑ
์ dataclass ๋ฐ์ฝ๋ ์ดํฐ ๋ฑ์ ํ์ฉํด์ ํด๋์ค๋ฅผ ์์ ์์ ํ ๋ถ๋ณ ๊ฐ์ฒด๋ก ๋ง๋๋ ๊ฒ์ด๋ค.
ํน์ ๊ฐ๊ณผ ๋ฌด๊ดํ ๋ด๋ถ ๊ณ ์ ์๋ณ์๋ฅผ ๋๊ณ ๊ทธ๊ฑธ๋ก ํด์๊ฐ ๋๊ฒ ํ๊ฑฐ๋...