2월 11, 2022

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문을 모두 돈 결과를 반환했습니다. 더 깔끔한 코드입니다.