[ Code Kata ] Dictionary 내부에서 value가 가장 큰 것 찾기!

Hailee·2020년 11월 27일
2

[ Code Kata ]

목록 보기
5/28
post-thumbnail

How to find the max value in a dictionary in Python

문제를 풀게 되었는데... 여러 단어들이 들어있는 리스트 중 문자열의 길이가 가장 긴 것을 반환하도록 하는 문제였다!
급급하게 푸느라 다른 좋은 함수들은 생각도 안나고 ^^

dictionary내에 문자열 길이대로 저장해서 리턴하자는 생각밖에 안들어서
어쩌다 보니 알게된 python의 max( ) 함수!

1) Use max( ) and dict.get( )

  • 같은 dictionary를 대상으로 max(iterable, key = dict.get)를 사용해서 호출!
  • 반복 가능하고, dictionary 형태여서 key, value가 짝지어진 상태여야 가능한 것 같다!

예시 문제

주어진 리스트에서 가장 긴 단어를 찾을 수 있도록 함수 선언하기!

print(find_longest_word(["PHP", "Exercises", "Backend"])) # --> "Exercises"

풀이

def find_longest_word(words):
    # 아래 코드를 작성해주세요.
    new_dict = {}

    for i in words:
      new_dict[i] = len(i)
    
    print(new_dict)
    max_key = max(new_dict, key = new_dict.get)

    return max_key

👆🏻 이건 내가 푼 것!

def find_longest_word(words):
    # 아래 코드를 작성해주세요.
    words.sort(key=len)
    return words[-1]

👆🏻 동기분이 푼 것! 훨씬 간결하다
난 아직도 index가 -1 인 것, return 시 값 그대로 말고 다양한 방법으로 리턴하는 상황에 대해서 취약한 것 같다

다양한 방식으로 사고하는 것 연습해보기!
ᕕ( ᐛ )ᕗ


2) Use max( ) and dict.values( )

  • dictionary의 value 값을 가진 객체들을 찾기 위해 dict.values( )로 호출하라는 것 같다
  • max(iterable)를 사용해서 dictionary의 모든 값들 중 가장 값이 큰 것을 찾는 것 같다.
profile
웹 개발 🐷😎👊🏻🔥

0개의 댓글