[Leet Code] 14. Longest Common Prefix
- 이번 포스팅에서는 Leet Code 14번 Longest Common Prefix 문제를 다룬다.
- 문제는 상단의 그림을 클릭하면 볼 수 있습니다.
Problem
- Write a function to find the longest common prefix string amongst an array of strings.
- If there is no common prefix, return an empty string “”.
Example 1:
Input: strs = ["flower","flow","flight"]
Output: "fl"
Example 2:
Input: strs = ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.
Solution :
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if not len(strs):
return ''
index = 0
for i in range(0, len(strs[0])):
flg = False
for s in strs:
if strs[0][0:i + 1] != s[0:i + 1]:
flg = True
break
if flg:
return strs[0][0:i]
else:
index = i
return strs[0][0:index + 1]
- 모든 문자열의 공통 prefix를 찾는 것이므로, 기준을 어떤 문자열로 해도 상관없다.
- 리스트의 가장 첫번째 원소문자열을 선택하였다.
- 그 후, prefix의 마지막 index를 순차적으로 선택하여, 다른 문자열과 비교하였다.
- 진행하다가, prefix가 다른 문자열이 하나라도 나오면 반복문을 탈출하였다.
댓글남기기