๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (122)

Hello Ocean! ๐ŸŒผ

[CS/์ž๋ฃŒ๊ตฌ์กฐ] ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ (BST)

Binary Search Tree(์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ)๋ž€? ์ด์ง„ ํƒ์ƒ‰ + ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฒฐํ•ฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ผ์ข… ์ด์ง„ ํƒ์ƒ‰์˜ ํšจ์œจ์ ์ธ ํƒ์ƒ‰ ๋Šฅ๋ ฅ + ๋นˆ๋ฒˆํ•œ ์‚ฝ์ž…/์‚ญ์ œ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ณ ์•ˆ ์ด์ง„ ํƒ์ƒ‰ ๋ณต์žก๋„ : O(logN) ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์˜ ์‚ฝ์ž…/์‚ญ์ œ ๋ณต์žก๋„ : O(1) ์†์„ฑ ๊ฐ ๋…ธ๋“œ์˜ ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ์—๋Š” ํ•ด๋‹น ๋…ธ๋“œ์˜ ๊ฐ’๋ณด๋‹ค ์ž‘์€ ๊ฐ’์„ ๊ฐ€์ง„ ๋…ธ๋“œ๋“ค๋กœ, ๊ฐ ๋…ธ๋“œ์˜ ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ์—๋Š” ํ•ด๋‹น ๋…ธ๋“œ์˜ ๊ฐ’๋ณด๋‹ค ํฐ ๊ฐ’์˜ ๋…ธ๋“œ๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘๋ณต๋˜๋Š” ๋…ธ๋“œ๋Š” ์—†์–ด์•ผ ํ•˜๋ฉฐ, ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ, ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๋˜ํ•œ ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ˆœํšŒ์‹œ์—๋Š” ์ค‘์œ„์ˆœํšŒ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด, ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ ๋‚ด์˜ ๋ชจ๋“  ๊ฐ’๋“ค์„ ์ •๋ ฌ๋œ ์ˆœ์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘์œ„ ์ˆœํšŒ : ์™ผ์ชฝ ํ•˜์œ„ ํŠธ๋ฆฌ -> root -> ์˜ค๋ฅธ์ชฝ ํ•˜์œ„ํŠธ๋ฆฌ ์—ฐ์‚ฐ ๊ฒ€์ƒ‰ / ์‚ฝ์ž… / ์‚ญ์ œ ์ƒ์„ฑ..

Algorithm 2021. 10. 9. 14:09
[๋ฐฑ์ค€/Python] 1501. ์˜์–ด ์ฝ๊ธฐ

๋ฌธ์ œ https://www.acmicpc.net/problem/1501 1501๋ฒˆ: ์˜์–ด ์ฝ๊ธฐ ์ฒซ์งธ ์ค„์— ์‚ฌ์ „์— ์žˆ๋Š” ๋‹จ์–ด๋“ค์˜ ๊ฐœ์ˆ˜ N(0 ≤ N ≤ 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ์ค„์— ํ•˜๋‚˜์”ฉ, ์˜์–ด ์‚ฌ์ „์— ์žˆ๋Š” ๋‹จ์–ด๋“ค์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 100์ž๋ฅผ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ๋‹ค์Œ ์ค„์— www.acmicpc.net ํ’€์ด ๋ฌธ์žฅ์„ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค. ๋ฌธ์žฅ์„ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ์ž˜๋ผ์„œ ๋‹จ์–ด๋“ค๋กœ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ฐ ๋‹จ์–ด๋“ค์€ ๋งจ ์•ž๊ณผ ๋งจ ๋’ท ๊ธ€์ž๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ์–ด ๋‹ค์–‘ํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ์˜ ์ˆ˜ ์ค‘์— ์‚ฌ์ „์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ค‘๊ฐ„์— ํ—ท๊ฐˆ๋ ธ๋˜ ์ ์€, ์–ด๋–ค ๋ฌธ์žฅ์ด 3๊ฐœ์˜ ๋‹จ์–ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ , ๊ฐ๊ฐ 2๊ฐ€์ง€, 0๊ฐ€์ง€, 3๊ฐ€์ง€๋กœ ํ•ด์„๋  ์ˆ˜ ์žˆ..

Algorithm 2021. 10. 6. 18:40
[๋ฐฑ์ค€/Python] 12757. ์ „์„ค์˜ JBNU

๋ฌธ์ œ https://www.acmicpc.net/problem/12757 12757๋ฒˆ: ์ „์„ค์˜ JBNU ์ฒซ ์ค„์—๋Š” ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜์ธ \(N(1 \le N \le 100,000)\) ๊ณผ ๋ช…๋ น ํšŸ์ˆ˜์ธ \(M(1 \le M \le 100,000)\), ๊ฐ€์žฅ ๊ทผ์ ‘ํ•œ Key๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ์˜ ์ œํ•œ์ธ \(K(1 \le K \le 10,000)\)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ž…๋ ฅ์˜ ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— www.acmicpc.net ๋ฌธ์ œ์—์„œ M๊ฐœ์˜ ๋ช…๋ น๋ฌธ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ "2 num val" ์— ๋Œ€ํ•ด์„œ num์œผ๋กœ ๊ฒ€์ƒ‰๋œ key์˜ val์„ ๋ฐ”๊พธ๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ, 2๊ฐœ์˜ key๊ฐ€ ๋ชจ๋‘ ์กด์žฌํ•˜๋Š” ์ƒํ™ฉ์—์„œ ๋‘˜๋‹ค ๋ฐ”๊พธ๋Š”๊ฑด์ง€, ์•„๋‹ˆ๋ฉด ์•„์˜ˆ ์•ˆ๋ฐ”๊พธ๋Š”๊ฑด์ง€ ๋ช…์‹œํ•ด์ฃผ์ง€ ์•Š์•„์„œ ํ—ท๊ฐˆ๋ ธ๋‹ค. ๋‘˜๋‹ค ํ•ด๋ณด๋‹ˆ๊นŒ ์•„์˜ˆ ์•ˆ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ์ •๋‹ต์ด์—ˆ๋‹ค. ๋ฌธ์ œ์—์„œ ์ด ๋ถ€๋ถ„์„ ๋ช…ํ™•..

Algorithm 2021. 10. 6. 18:30
[VanillaJS] map๊ณผ forEach

JS์—์„œ array์˜ ๊ฐ ์›์†Œ์— ๋Œ€ํ•ด ๊ฐ™์€ ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๊ณ  ์‹ถ์„ ๋•Œ, for๋ฌธ ๋Œ€์‹ ์— Array.prototype.map()์ด๋‚˜ Array.prototype.forEach()๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‘ ํ•จ์ˆ˜์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ผ๊นŒ? MDN ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด๋ณด์ž. map() : ๋ฐฐ์—ด ๋‚ด์˜ ๋ชจ๋“  ์›์†Œ ๊ฐ๊ฐ์— ๋Œ€ํ•˜์—ฌ ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ * ๊ธฐ์กด ๋ฐฐ์—ด์˜ ์›์†Œ๋“ค๋กœ ์ž‘์—…์„ ์™„๋ฃŒํ•œ ๋’ค ํ•ด๋‹น ๊ฒฐ๊ณผ๋ฌผ๋“ค์„ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ returnํ•ด์ค€๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. * ๋”ฐ๋ผ์„œ map์˜ ์šฉ๋„๋ฅผ ์ œ๋Œ€๋กœ ์‚ด๋ฆฌ๋ ค๋ฉด callback ํ•จ์ˆ˜ ๋‚ด์— return ๊ตฌ๋ฌธ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. forEach() : ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ๋ฐฐ์—ด ์š”์†Œ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์‹คํ–‰ * forEach()๋Š” ๋ฐฐ์—ด์„ ๋ณ€ํ˜•ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ callbac..

Web 2021. 10. 1. 23:58
[๋ฐฑ์ค€/C++] 4195. ์นœ๊ตฌ ๋„คํŠธ์›Œํฌ

๋ฌธ์ œ https://www.acmicpc.net/problem/4195 4195๋ฒˆ: ์นœ๊ตฌ ๋„คํŠธ์›Œํฌ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ์นœ๊ตฌ ๊ด€๊ณ„์˜ ์ˆ˜ F๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ์ด ๊ฐ’์€ 100,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ๋‹ค์Œ F๊ฐœ์˜ ์ค„์—๋Š” ์นœ๊ตฌ ๊ด€๊ณ„๊ฐ€ ์ƒ๊ธด ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„ www.acmicpc.net ๋ฏผํ˜์ด๋Š” ์†Œ์…œ ๋„คํŠธ์›Œํฌ ์‚ฌ์ดํŠธ์—์„œ ์นœ๊ตฌ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋Š” ์นœ๊ตฌ์ด๋‹ค. ์šฐํ‘œ๋ฅผ ๋ชจ์œผ๋Š” ์ทจ๋ฏธ๊ฐ€ ์žˆ๋“ฏ์ด, ๋ฏผํ˜์ด๋Š” ์†Œ์…œ ๋„คํŠธ์›Œํฌ ์‚ฌ์ดํŠธ์—์„œ ์นœ๊ตฌ๋ฅผ ๋ชจ์œผ๋Š” ๊ฒƒ์ด ์ทจ๋ฏธ์ด๋‹ค. ์–ด๋–ค ์‚ฌ์ดํŠธ์˜ ์นœ๊ตฌ ๊ด€๊ณ„๊ฐ€ ์ƒ๊ธด ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‘ ์‚ฌ๋žŒ์˜ ์นœ๊ตฌ ๋„คํŠธ์›Œํฌ์— ๋ช‡ ๋ช…์ด ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์นœ๊ตฌ ๋„คํŠธ์›Œํฌ๋ž€ ์นœ๊ตฌ ๊ด€๊ณ„๋งŒ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ด๋ฅผ ๋งํ•œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ..

Algorithm 2021. 9. 28. 20:19
[๋ฐฑ์ค€/C++] 1253. ์ข‹๋‹ค

๋ฌธ์ œ https://www.acmicpc.net/problem/1253 1253๋ฒˆ: ์ข‹๋‹ค ์ฒซ์งธ ์ค„์—๋Š” ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 2,000), ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” i๋ฒˆ์งธ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Ai๊ฐ€ N๊ฐœ ์ฃผ์–ด์ง„๋‹ค. (|Ai| ≤ 1,000,000,000, Ai๋Š” ์ •์ˆ˜) www.acmicpc.net N๊ฐœ์˜ ์ˆ˜ ์ค‘์—์„œ ์–ด๋–ค ์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ์ˆ˜ ๋‘ ๊ฐœ์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ ์ˆ˜๋ฅผ “์ข‹๋‹ค(GOOD)”๊ณ  ํ•œ๋‹ค. N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๊ทธ ์ค‘์—์„œ ์ข‹์€ ์ˆ˜์˜ ๊ฐœ์ˆ˜๋Š” ๋ช‡ ๊ฐœ์ธ์ง€ ์ถœ๋ ฅํ•˜๋ผ. ์ˆ˜์˜ ์œ„์น˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ๊ฐ’์ด ๊ฐ™์•„๋„ ๋‹ค๋ฅธ ์ˆ˜์ด๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์—๋Š” ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 2,000), ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” i๋ฒˆ์งธ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Ai๊ฐ€ N๊ฐœ ์ฃผ์–ด์ง„๋‹ค. (|Ai| ≤ 1,000,000,000, Ai๋Š” ์ •์ˆ˜) ์ถœ๋ ฅ ์ข‹์€ ์ˆ˜์˜ ๊ฐœ..

Algorithm 2021. 9. 28. 19:58