개요
코딩테스트 문제를 풀며 최대값을 가지는 key 값들을 구해주어야 하는 문제가 있었습니다.
이를 해결한 방식에 대해 작성해두고 기억해두기 위해 글을 작성해보려고 합니다.
딕셔너리
- key와 value가 쌍을 이루는 사전 형태의 자료형입니다.
- key값은 중복되지 않습니다.
- key를 중복으로 추가하는 경우, 마지막으로 추가한 key - value 쌍이 남게 됩니다.
- key에는 immutable(변경 불가) 자료형만 올 수 있습니다.
최대 value에 대한 key 찾기
max(dic_ex, key=dic_ex.get) #dictionary.get 이용
[k for k,v in dic_ex.items() if max(dic_ex.values() == v)] #리스트 컴프리헨션 이용
- max() 함수는 인수에 넣어준 딕셔너리 값 중 최대값을 찾아주는 함수입니다.
- 리스트 컴프리헨션을 통해 최대 value에 대한 key값을 찾아주는 로직을 위와 같이 볼 수 있습니다.
- dic_ex.items()를 통해, k,v 변수에 각각 key와 value 값이 할당될 것 입니다.
- 할당된 v 즉, value 값이 dic_ex 최대값과 같은 경우 k (key)를 리스트에 담아주는 것을 볼 수 있습니다.
나가면서
오늘은 딕셔너리의 최대값에 대한 key값을 찾아주는 예제를 알아 보았습니다.