Find longest word
풀이 1.
1 2 3 4 5 6 7 8 9 10 11 | def find_longest_word(words): # 아래 코드를 작성해주세요. a ="" long =0 for word in words: if len(word) > long: long = len(word) a = word else: pass return a |
풀면서 겪은 문제점
11라인의 return a를 for 문 안에 사용해줘서, 각각의 for loop 이 돌때마다 a가 리턴됐습니다. a의 들여쓰기를 취소하여 for문 밖으로 빼줌으로써 문제를 해결했습니다.
다른 풀이
1 2 3 4 5 6 7 | def find_longest_word(words): # 아래 코드를 작성해주세요. m = "" for i in words: if len(i) > len(m): m = i return m |
위에서처럼 길이(long)과 가장 긴 문자(a)를 굳이 구분하지 않았습니다. 그냥 매 for loop을 돌면서 m이라는 변수에 더 긴 문자가 있다면 교체해주고, for문을 모두 돈 결과를 반환했습니다. 더 깔끔한 코드입니다.