[Code Kata] 공통된 시작단어 반환
Q.
strs은 단어가 담긴 배열입니다.
공통된 시작 단어(prefix)를 반환해주세요.
예를 들어
strs = ['start', 'stair', 'step']
return은 'st'
strs = ['start', 'wework', 'today']
return은 ''
A.
def get_prefix(strs):
i = 0
j = 0
result = []
if strs == []:
return ""
range = len(min(strs, key=len))
if range == 0:
return ""
while strs[i][j] == strs[0][j]:
i += 1
if i == len(strs) :
result.append(strs[0][j])
if j == (range-1):
break
j += 1
i = 1
return "".join(result)
- 비어있는 list -> 비어있는 string return
- 첫 단어의 첫 글자를 가지고 다음 단어들의 첫 글자와 비교 (while 문에서 i +=1 을 통해)
- 모두 다 같은 글자인 것이 확인되면 그 글자를 result에 append
- 그다음 j+=1을 통해 두 번째 글자에 대해 동일한 로직 실행
- j값이 out of range 되지 않게 하기 위해 range 설정
- 여기서 range는 모든 단어들 중 가장 짧은 단어의 길이로 설정하여 j값이 range-1 까지만 돌게 함
Author And Source
이 문제에 관하여([Code Kata] 공통된 시작단어 반환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@doubleduo/Code-Kata
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def get_prefix(strs):
i = 0
j = 0
result = []
if strs == []:
return ""
range = len(min(strs, key=len))
if range == 0:
return ""
while strs[i][j] == strs[0][j]:
i += 1
if i == len(strs) :
result.append(strs[0][j])
if j == (range-1):
break
j += 1
i = 1
return "".join(result)
Author And Source
이 문제에 관하여([Code Kata] 공통된 시작단어 반환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@doubleduo/Code-Kata저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)