λ°μ λ°°μ΄μ μμλ€μ 곡ν΅λ μ λμ¬ λ¬Έμλ₯Ό λ°ννλΌ
ex)
strs = ['start', 'stair', 'step']
st
λ°ν
ex)
strs = ['start', 'wework', 'today']
''
λ°ν
def get_prefix(strs):
#step 1
if len(strs) == 0:
return ''
n = (len(strs[0]) if len(strs[0]) < len(strs[1])
else len(strs[1]))
pre=''
#step 2
for i in range(n):
if (strs[0][i] == strs[1][i]):
pre += strs[0][i]
#step 3
for str in strs[2:]:
n = (len(s) if len(s) < len(pre)
else len(pre))
while pre:
if (pre == str[:len(pre)]):
break
else:
pre=pre[:-1]
if(pre == ''):
break
return pre
def get_prefix(strs):
#step 1
if len(strs) == 0:
return ''
n = (len(strs[0]) if len(strs[0]) < len(strs[1]) else len(strs[1]))
pre=''
λ°μ λ°°μ΄μ μμκ° μμλ, λΉ λ¬Έμμ΄ λ°ν
λ°μ λ°°μ΄μ 첫λ²μ§Έ, λλ²μ§Έ μμμ κΈΈμ΄λ₯Ό λΉκ΅νμ¬, μμ κΈΈμ΄ κ°μ n
μ λ΄λλ€
#step 2
for i in range(n):
if (strs[0][i] == strs[1][i]):
pre += strs[0][i]
for λ¬Έμ ν΅ν΄ λ¬Έμμ΄μ ν κΈμμ© λλ©°,
첫 λ²μ§Έμ λ λ²μ§Έ λ¬Έμλ₯Ό λΉκ΅ν΄ 곡ν΅λλ λ¬Έμλ₯Ό pre
μ λ΄λλ€
#step 3
for str in strs[2:]:
while pre:
if (pre == str[:len(pre)]):
break
else:
pre=pre[:-1]
if(pre == ''):
break
return pre
pre
κ° λ°°μ΄μ λλ¨Έμ§ λ¬Έμμ΄μ μμ μλμ§ κ²μ¬ νλ€.
μλ€λ©΄ pre
μ λ§μ§λ§ κΈμλ₯Ό νλ½μν€κ³
λ€μ κ²μ¬λ₯Ό μ§ν νλ€.
κ·Έλ κ² μ§νν΄μ μ»μ μ΅μ’
pre
λ₯Ό λ°ννλ€.
λ§μ½ pre
κ° λͺ¨λ νλ½λμ΄ λΉ λ¬Έμμ΄μ΄ λλ©΄ λΉ λ¬Έμμ΄μ λ°ν νλ€.
def get_prefix(strs):
ans = ''
if len(strs) == 0:
return ''
strs = sorted(strs)
for idx,i in enumerate(strs[0]):
if i == strs[-1][idx]:
ans += i
else:
break
return ans
#print(get_prefix(['abc', 'acd', 'ade']))
strs
λ₯Ό μ λ ¬νμ¬ μ²μ μμμ λ§μ§λ§ μμμ λ¬Έμμ΄μ λΉκ΅νμ¬ λμΌν λ¬Έμμ΄μ ans
μ μ μ₯νκ³ λ°ννλ€.
νμ΄μ¬ sorted
ν¨μκ° λ¨μν κ°μ₯ μ²μ λ¬Έμμ΄μ κΈ°μ€μΌλ‘λ§ μ λ ¬ν΄μ£Όλ κ²μΌλ‘ μκ³ μμλλ°,
λ¬Έμμ΄μ μ²μλΆν° λμ μ΄λ₯΄κΈ° κΉμ§λ₯Ό λͺ¨λ κ³ λ €νμ¬ μνλ²³ μμΌλ‘, λν
μΌνκ² μ λ ¬ν΄μ€λ€λ κ²μ μκ² λμλ€.