•
문제 설명 : 제공된 문자열 중 가장 긴 Prefix를 반환
•
풀이 방법
◦
각 문자의 글자를 확인하여 동일한지 확인한다.
•
시간복잡도 : → 최악의 경우
•
성공 코드
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
result = ""
# 각 문자열의 글자를 확인 (세로로 확인하는 법)
for item in zip(*strs):
if len(set(item)) == 1:
result += item[0]
else:
return result
return result
Python
복사
•
성공 코드
sort를 사용하게되면, 자연스럽게 prefix가 동일한 문자끼리 가까워진다.
이를 사용하여, 문자열 목록을 정렬 후 가장 처음과 마지막 문자만 비교하여 처리하는 방법이다.
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
result = ""
strs.sort()
if len(strs) == 1:
return strs[0]
# 정렬된 문자열에서 처음과 가장 마지막만 확인하여, 중간에 어느정도 유사한 문자열은 모두 제외
for ch1, ch2 in zip(strs[0], strs[-1]):
if ch1 == ch2:
result += ch1
else:
return result
return result
Python
복사