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
'코딩 테스트' 카테고리의 다른 글
[LeetCode] RansomNote (Python) (0) | 2025.01.15 |
---|---|
[LeetCode] Find the Index of the First Occurrence in a String (Python) (0) | 2025.01.15 |
[LeetCode] Length of Last Word (Python) (0) | 2025.01.15 |
[LeetCode] Roman to Integer (0) | 2025.01.14 |
[LeetCode] In Subsequence (Python) (0) | 2025.01.13 |
댓글