class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
ans = ''
for chars in zip(*strs):
print(chars)
char = set(chars)
if len(char) != 1:
break
else:
ans = ans + chars[0]
return ans
[문제]
Input: ["flower","flow","flight"] Output: "fl"
스트링 배열로 들어오는 스트링 간에 공통적인 앞글자들을 찾는 문제임
[풀이]
파이썬3에서 제공하는 * (unzip 기능)과 zip 내장함수를 이용하여 해결
- 먼저 스트링 배열을 * 를 통해 배열을 제거한다. zip 함수를 사용하기 위해서...
: flower flow flight
- zip 함수를 통해, 각 스트링들의 동일 index에 존재하는 글자들을 모은다.
: [('f', 'f', 'f'), ('l', 'l', 'l'), ('o', 'o', 'i'), ('w', 'w', 'g')]
- 루프를 돌면서 각 element들을 set 함수를 통해 묶고, 1인지 비교한다.
- 1이 아니면 끝, 1이면 더한다.