코딩 테스트
[LeetCode] 14.Longest Common Prefix (Python)
zoodi
2025. 1. 15. 11:26
728x90
1.문제
https://leetcode.com/problems/longest-common-prefix/?envType=study-plan-v2&envId=top-interview-150
2.풀이
1) 주어진 리스트의 원소를 길이순으로 정렬한다.
2) 가장 짧은 단어를 기준으로 순환하여 비교한다.
3) 반복문을 돌면서 해당 index 의 단어와 첫번째 단어의 index 가 동일한지 체크하고 동일하지 않다면 그 부분까지 substring 해서 반환한다.
3.코드
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if (len(strs) == 0):
return ""
if (len(strs) == 1):
return strs[0]
strs.sort(key=len)
if (strs[0] == ""):
return ""
#no common prefix
if (strs[0][0] != strs[1][0]):
return ""
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]
728x90