RSS DEV ์ปค๋ฎค๋‹ˆํ‹ฐ

"๐Ÿ“šLeetCode 1061 "์‚ฌ์ „์‹ ์ˆซ์ž" ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์ดˆ๋ณด์ž ๊ฐ€์ด๋“œ (C++ | JavaScript | Python)"

LeetCode 386๋ฒˆ ๋ฌธ์ œ๋Š” 1๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ์‚ฌ์ „์‹(lexicographical) ์ˆœ์„œ๋กœ ์ƒ์„ฑํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์‚ฌ์ „์‹ ์ˆœ์„œ๋Š” ์ˆซ์ž ์ˆœ์„œ์™€๋Š” ๋‹ฌ๋ฆฌ, ์‚ฌ์ „ ์ˆœ์„œ์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•œ ๋ฌธ์ž์—ด ๊ธฐ๋ฐ˜ ์ •๋ ฌ ๋ฐฉ์‹์€ ๋น„ํšจ์œจ์ ์ด๋ฉฐ, O(n log n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” O(n) ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ O(1) ์ถ”๊ฐ€ ๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์€ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS)์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” 10์„ ๊ณฑํ•˜์—ฌ ๋” ๊นŠ์€ ๋ ˆ๋ฒจ๋กœ ์ด๋™ํ•˜๊ณ , 1์„ ๋”ํ•˜์—ฌ ํ˜•์ œ ๋…ธ๋“œ๋กœ ์ด๋™ํ•˜๋Š” ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ 1์—์„œ ์‹œ์ž‘ํ•˜์—ฌ n์„ ์ดˆ๊ณผํ•  ๋•Œ๊นŒ์ง€ 10์„ ๊ณฑํ•˜์—ฌ ๋” ๊นŠ์ด ํƒ์ƒ‰ํ•˜๊ณ , ๊ทธ ํ›„ ๋‹ค์Œ ํ˜•์ œ ๋…ธ๋“œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑํŠธ๋ž˜ํ‚น(10์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ)์€ n์˜ ์ œ์•ฝ ๋‚ด์—์„œ ๋” ์ด์ƒ ํ˜•์ œ ๋…ธ๋“œ์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ณต๋œ C++, JavaScript, Python ์ฝ”๋“œ๋Š” ์ด ๋กœ์ง์„ ํšจ์œจ์ ์œผ๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์€ while ๋ฃจํ”„์™€ ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ DFS ํƒ์ƒ‰์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐ„ ๋ณต์žก๋„๋Š” O(1)์ธ๋ฐ, ์ด๋Š” ์ถœ๋ ฅ ๋ฒกํ„ฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ƒ์ˆ˜ ์–‘์˜ ์ถ”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
favicon
dev.to
๐Ÿ“šBeginner-Friendly Guide to Solving "Lexicographical Numbers" LeetCode 1061 (C++ | JavaScript | Python)
Create attached notes ...