카테고리 없음

파이썬 람다를 활용한 다중조건 정렬

아놀드금자 2023. 10. 8. 16:51
728x90

백준 20920 영단어 암기는 괴로워

 

정렬 조건이 있다.

  1. 자주 나오는 단어일수록 앞에 배치한다.
  2. 해당 단어의 길이가 길수록 앞에 배치한다.
  3. 알파벳 사전 순으로 앞에 있는 단어일수록 앞에 배치한다

어떻게 정렬해야하나 고민했는데 

람다를 활용하면 단 한줄로 편하게 정렬할 수 있다!!!!!!

 

dic_arr=sorted(dic_arr.items(),key=lambda x:(-x[1],-len(x[0]),x[0]))

 

dic_arr = {'단어':등장횟수} 상태

 

key=lambda x:(-x[1],-len(x[0]),x[0])

 

첫번째 조건: 등장횟수(value)가 높은 순서대로 -> -x[-1]

두번째 조건: 단어(key) 길이가 긴 순서대로 -> -len(x[0])

세번째 조건: 단어(key) 알파벳 사전 순 -> x[0]

728x90