주어진 리스트안에 있는 단어중 가장 긴 단어를 찾을수 있도록 함수를 완성해주세요.
print(find_longest_word(["PHP", "Exercises", "Backend"])) # --> "Exercises"
내가 해결한 코드
empty_list = []
def find_longest_word(long_list):
for i in long_list:
empty_list.append(len(i))
max_num = max(empty_list)
for i in long_list:
if max_num == len(i):
results = i
return results
빈 리스트를 만들어서 빈리스트한테 단어들의 길이값들을 넣어 주었고, 그 길이값의 큰값을 토대로 가장 긴 단어를 찾았다.
모법 답안
def find_longest_word(words):
word_len = []
for n in words:
word_len.append((len(n), n))
word_len.sort()
return word_len[-1][1]
여기서도 빈리스트를 먼저만들고, 빈리스트들에게 길이값과 단어를 함께 넣어주고 정렬하였고(튜플), 가장 길이가 큰값의 단어를 리턴하였다.
여기서는 내가 빈리스트에게 튜플로 저장할 생각을 하지못했던 것같다.
'Algorithm' 카테고리의 다른 글
Code Kata : day 1 (0) | 2020.06.08 |
---|---|
Python - For Loops Assignment (0) | 2020.05.29 |