ํ•ด์‹œ ํ…Œ์ด๋ธ”(Hash Table)์€ ๋„์„œ๊ด€.

ํ•ด์‹œ ํ…Œ์ด๋ธ”(Hash Table)์€ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํ•ด์‹œ ํ•จ์ˆ˜(Hash Function)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ๋ฐ์ดํ„ฐ์˜ ํ‚ค(Key)๋ฅผ ํ•ด์‹œ ๊ฐ’(์ธ๋ฑ์Šค)์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋Š” ์ž„์˜์˜ ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์ •๋œ ๊ธธ์ด์˜ ํ•ด์‹œ ๊ฐ’์œผ๋กœ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋Š” ํ…Œ์ด๋ธ” ๋‚ด์˜ ์ฃผ์†Œ(์ธ๋ฑ์Šค)๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ณ€ํ™˜๋œ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ”(Slot, Bucket)์— ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ‚ค๊ฐ€ 123817์ธ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์‹œ ํ•จ์ˆ˜์— ๋„ฃ์œผ๋ฉด 3819์™€ ๊ฐ™์€ ํ•ด์‹œ ๊ฐ’์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ์ด ํ•ด์‹œ ๊ฐ’์€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ํ…Œ์ด๋ธ” ๋‚ด์˜ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฌด์Šจ ๋ง์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด.. ์ด ๊ธ€์˜ ์ œ๋ชฉ์ฒ˜๋Ÿผ ํ•ด์‹œ ํ…Œ์ด๋ธ”์€ ๋„์„œ๊ด€.์„ ์ƒ..

Computer/Data Structure 2024. 3. 8. 18:39
[English Study] 2์›” ๋„ท์งธ ์ฃผ ์˜์–ด ๊ณต๋ถ€ ๊ธฐ๋ก

์ด๋ฒˆ ์ฃผ๋ถ€ํ„ฐ๋Š” ์˜์–ด์™€ ํ•œ๊ธ€ ํ•ด์„๋งŒ ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๊พธ๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งค์ผ ์ž‘์„ฑํ•ด๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์ง€๋งŒ, ์˜์ƒ์„ ๋ณด๋ฉด์„œ ๊ณต๋ถ€๋ฅผํ•˜๊ณ  ๋ธ”๋กœ๊ทธ๊นŒ์ง€ ์ž‘์„ฑ์„ ํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ ค ๋ฐฉ์‹์„ ๋ฐ”๊พธ๊ธฐ๋กœ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด์ œ๋ถ€ํ„ฐ๋Š” ๋งค์ฃผ ํ•œ ๊ฐœ์˜ ๊ฒŒ์‹œ๋ฌผ์„ ์˜ฌ๋ฆฌ๋Š” ๋Œ€์‹  ํ•ด๋‹น ์ฃผ์˜ ๋ชจ๋“  ๋‚ด์šฉ์„ ํ•œ๊ธ€ ํ•ด์„๊ณผ ์˜์–ด๋ฅผ ๊ธฐ๋กํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์‹œ๋ฌผ์€ ๋งค์ฃผ ๋ณต์Šต ๋‚ ์ธ ์ฃผ๋ง์— ์˜ฌ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. (ํ† , ์ผ ์ค‘ ์•ˆ๋ฐ”์œ ๋‚ ..) (1) 2024๋…„ 2์›” 26์ผ (์›”) ์˜์–ด๋‰ด์Šค – ์šฐํฌ๋ผ์ด๋‚˜ ์นจ๊ณต 2์ฃผ๋…„ (2024. 2. 26) [์ถœ์ฒ˜: ๊ท€๋šœ๋ผ๋ฏธ ์˜์–ด ์œ ํŠœ๋ธŒ] 1. ํ•œ๊ธ€ ํ•ด์„ ์šฐํฌ๋ผ์ด๋‚˜๊ฐ€ ๋Ÿฌ์‹œ์•„์˜ ์ „๋ฉด ์นจ๊ณต 2์ฃผ๋…„์„ ๋งž์ดํ•œ ๊ฐ€์šด๋ฐ, ์šฐํฌ๋ผ์ด๋‚˜ ๋„์‹œ์— ๋Ÿฌ์‹œ์•„์˜ ์ถ”๊ฐ€ ๊ณต๊ฒฉ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. BBC ํŠนํŒŒ์›์€ ์šฐํฌ๋ผ์ด๋‚˜๊ฐ€ ์˜ํ† ๋ฅผ ์žƒ๊ณ , ๊ตฐ์‚ฌ ์›์กฐ๋„ ์ง€์—ฐ๋˜๋ฉด..

ETC/English Study 2024. 3. 3. 18:36
[Swift] ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Linked List)๋Š” ์ง€ํ•˜์ฒ . (feat. ์„ค๊ตญ์—ด์ฐจ)

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋…ธ๋“œ๋“ค์„ ํฌ์ธํ„ฐ๋กœ ์„ ํ˜•์ ์œผ๋กœ ์—ฐ๊ฒฐํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๋…ธ๋“œ์—๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ ์†์„ฑ(value)์™€ ๋‹ค์Œ ๋…ธ๋“œ์˜ ์ฃผ์†Œ(pointer)๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌด์Šจ ๋ง์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด.. ์ด ๊ธ€์˜ ์ œ๋ชฉ์ฒ˜๋Ÿผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ์ง€ํ•˜์ฒ .์„ ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ์Šต๋‹ˆ๋‹ค! (์„ค๊ตญ ์—ด์ฐจ๋Š” ๋’ค์—์„œ ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ˜Ž) ์ง€ํ•˜์ฒ ์€ ์—ฌ๋Ÿฌ ๊ฐ์‹ค๋“ค์ด ์—ฐ๊ฒฐ๋œ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ๊ฐ์‹ค์—๋Š” ์Šน๊ฐ(๋ฐ์ดํ„ฐ)๊ฐ€ ํƒ€๊ณ  ์žˆ๊ณ , ๊ฐ ๊ฐ์‹ค๋“ค์„ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฐ๊ฒฐ์„ (์—ฃ์ง€, ๋งํฌ)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ•œ๋ฒˆ, ์ง€ํ•˜์ฒ ์„ ๋จธ๋ฆฌ ์†์— ๋– ์˜ฌ๋ฆฌ๋ฉฐ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ์ •์˜์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ณด์‹œ์ฃ . ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋…ธ๋“œ(= ์ง€ํ•˜์ฒ  ๊ฐ์‹ค)๋“ค์„ ํฌ์ธํ„ฐ(= ์ง€ํ•˜์ฒ  ์—ฐ๊ฒฐ์„ )์œผ๋กœ ์—ฐ๊ฒฐํ•ด ์‚ฌ์šฉํ•˜๋Š” ์„ ํ˜•์  ์ž๋ฃŒ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์—์„œ๋Š” ๊ฐ์‹ค์„ ..

Computer/Data Structure 2024. 3. 1. 17:07
[BOJ] 2504๋ฒˆ - ๊ด„ํ˜ธ์˜ ๊ฐ’ (Swift, C++)

๋ฌธ์ œ 4๊ฐœ์˜ ๊ธฐํ˜ธ ‘(’, ‘)’, ‘[’, ‘]’๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ด„ํ˜ธ์—ด ์ค‘์—์„œ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ž€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋œ๋‹ค. ํ•œ ์Œ์˜ ๊ด„ํ˜ธ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ‘()’์™€ ‘[]’๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋‹ค. ๋งŒ์ผ X๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ฉด ‘(X)’์ด๋‚˜ ‘[X]’๋„ ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ๋œ๋‹ค. X์™€ Y ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ผ๋ฉด ์ด๋“ค์„ ๊ฒฐํ•ฉํ•œ XY๋„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ‘(()[[]])’๋‚˜ ‘(())[][]’ ๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด์ง€๋งŒ ‘([)]’ ๋‚˜ ‘(()()[]’ ์€ ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ์•„๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์–ด๋–ค ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด X์— ๋Œ€ํ•˜์—ฌ ๊ทธ ๊ด„ํ˜ธ์—ด์˜ ๊ฐ’(๊ด„ํ˜ธ๊ฐ’)์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•˜๊ณ  ๊ฐ’(X)๋กœ ํ‘œ์‹œํ•œ๋‹ค. ‘()’ ์ธ ๊ด„ํ˜ธ์—ด์˜ ๊ฐ’์€ 2์ด๋‹ค. ‘[]’ ์ธ ๊ด„ํ˜ธ์—ด์˜ ๊ฐ’์€ 3์ด๋‹ค. ‘(X)’ ์˜ ๊ด„ํ˜ธ๊ฐ’์€ 2×๊ฐ’..

Coding Test/BOJ 2024. 2. 29. 23:58