๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ๐ŸŒฎ ๐Ÿ’ฌ
๐Ÿ’ป leetcode/algorithms

[LeetCode] Algorithms | 14. Longest Common Prefix | Python

by ๋ฐ”์ฟ„๋ฆฌ 2024. 7. 12.

Problems

 

์ œ์ผ ๊ธด common prefix๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค.

์ด๊ฑธ ํ•˜๋‚˜ํ•˜๋‚˜ ์–ด๋–ป๊ฒŒ ๊ฒ€์‚ฌํ•ด์•ผํ•˜๋‚˜ ๊ณ ๋ฏผ์ด ๋˜์—ˆ๋‹ค.

์šฐ์„  ์ œ์ผ ์งง์€ ๋‹จ์–ด๋ฅผ ๊ธฐ์ค€์„ ์žก๊ณ  ์‹œ์ž‘ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

 

์ฒ˜์Œ์—” shortest_word = min(strs, len) ์œผ๋กœ ํ•˜๋‚˜ ์ง€์ •์„ ํ•œ ์ƒํƒœ๋กœ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ,

์Œ ๊ทธ๋ƒฅ ์ •๋ ฌ๋กœ ์ฒซ๋ฒˆ์งธ ๋ฐ•์•„๋†“๊ณ  ํ•˜๋ฉด ์ข€ ๋” ์ˆ˜์›”ํ•˜๊ฒ ๋‹ค ์ƒ๊ฐํ–ˆ๋‹ค

strs.sort(key = lambda x : len(x))

for i in range(len(strs[0])):
    for j in range(1, len(strs)):
        if strs[0][i] != strs[j][i]:
            return strs[0][:i]

return strs[0]

 

์ œ์ผ ์งง์€ ๋‹จ์–ด str[0] ์„ ๊ธฐ์ค€์„ ์žก๊ณ , ๊ทธ ๋‹ค์Œ ๋‹จ์–ด๋ถ€ํ„ฐ ํ•˜๋‚˜ํ•˜๋‚˜์”ฉ ํ™•์ธํ–ˆ๋‹ค.

๋งŒ์•ฝ ๋‹ค๋ฅธ ๋ฌธ์ž๊ฐ€ ๋‚˜์˜จ๋‹ค๋ฉด ๊ทธ ์•ž์— prefix๊นŒ์ง€๋งŒ return ํ•˜๊ณ  ๋๋‚ด๋„๋ก ํ–ˆ๋‹ค.

 

 

์„ฑ ~ ๊ณต

 

Review

์ด ๋ฌธ์ œ๋Š” ๋„ˆ๋ฌด ํ—ท๊ฐˆ๋ ค์„œ ํ•˜๋‹ค๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๋ฅผ ๋ดค๋Š”๋ฐ

๋ณด๊ณ ๋‚˜๋‹ˆ๊นŒ ๋” ํ—ท๊ฐˆ๋ ธ๋‹ค. startswith, enumerate, zip ,, ๋“ฑ๋“ฑ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜๋“ค์„ ์‚ฌ์šฉํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€์–ด๋‚ด๋Š” ์‚ฌ๋žŒ๋“ค์„ ๋ณด๋ฉด์„œ

๋‚˜๋„ ๋งŽ์ด ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๊ตฌ๋‚˜ ํ–ˆ๋‹ค .. 

'๐Ÿ’ป leetcode > algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[LeetCode] Algorithms | 21. Merge Two Sorted Lists | Python  (1) 2024.07.24
[LeetCode] Algorithms | 20. Valid Parentheses | Python  (0) 2024.07.23
[LeetCode] Algorithms | 13. Roman to Integer | Python  (0) 2024.07.12