본문 바로가기
Algorithm

Python 문제

by Adam92 2020. 6. 5.

 

주어진 리스트안에 있는 단어중 가장 긴 단어를 찾을수 있도록 함수를 완성해주세요.

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