[Codekata - Week1] Day 5

문성호·2020년 9월 5일

문제

문제
strs은 단어가 담긴 배열입니다.
공통된 시작 단어(prefix)를 반환해주세요.

예를 들어
strs = ['start', 'stair', 'step']
return은 'st'
strs = ['start', 'wework', 'today']
return은 ''

My Solution

def get_prefix(strs):
  if len(strs) == 0:
    return ''
    
  strs.sort()
  first = strs[0] 
  resultString = '' 
  
  for i in range(len(first)): 
    if first[i] != strs[-1][i]: 
      break
    resultString += strs[-1][i]
      
  return resultString
  • string을 sort()함수로 정렬시킨 다음, 제일 마지막에 있는 string과 첫 string을 검사하면 간단해진다.

  • str[0] 문자열과 마지막 문자열(string[-1])을 검사해서 서로 같지 않을 때까지 검사하면서
    resultString에 저장하면 결국 공통된 문자열만 남게 됨.

  • resultString을 return하면 끝.

profile
오늘을 모아 내일을

0개의 댓글