Code Kata 란, 2인 1조의 구성으로 서로 협력하여 하루에 한 문제씩 해결하는 과제입니다.
strs은 단어가 담긴 배열입니다.
공통된 시작 단어(prefix)를 반환해주세요.
예를 들어
strs = ['start', 'stair', 'step'] return은 'st'
strs = ['start', 'wework', 'today'] return은 ''
def get_prefix(strs):
if not strs:
return ''
elif len(strs) == 1:
return strs[0]
strs.sort()
result = ""
for i in range(len(strs[0])):
if strs[0][i] == strs[-1][i]:
result += strs[0][i]
else:
break
return result
if not 조건문
⇒ 조건문이 false면 returnif 조건문
⇒ 조건문이 true면 return- 리스트가 빈 리스트면 false, 데이터가 있으면 true
if not strs
⇒ strs라는 리스트가 빈 리스트면 return
def get_prefix(strs):
if len(strs) == 0:
return ''
strs.sort()
result = ""
for i in range(len(strs[0])):
if strs[0][i] == strs[-1][i]:
result += strs[0][i]
else:
break
return result
if not strs: return ''
1시간 이내에 해결 실패
import os.path as p
def get_prefix(strs):
return p.commonprefix(strs)
def get_prefix(strs) -> str:
prefix = ""
for chars in zip(*strs):
if len(set(chars)) > 1:
break
prefix += chars[0]
return prefix
def get_prefix(strs):
result =''
idx = 0
try:
while True:
new_list = [i[idx] for i in strs]
if len(set(new_list)) == 1:
result += new_list[0]
else:
break
idx += 1
return result
except:
return result