백준 1181 - 단어 정렬

범모 ( bbeom dev) ·2025년 2월 21일

https://www.acmicpc.net/problem/1181

내 풀이

n = int(input())
s_dict = {}
for i in range(n):
    s = input()
    s_dict[s] = len(s)
s_dict2 = {key: [] for key in sorted(s_dict.values())}

for key, value in s_dict.items():
    s_dict2[value].append(key)
    
for i in s_dict2:
    for i2 in sorted(s_dict2[i]):
        print(i2)

n개 단어 입력 받으면 딕셔너리에 len 구해서 저장
그리고 저장된 len을 키로해서 dict2를 만들고 dict1의 key를 value로 저장함
그리고 sorted 해서 출력


다른사람 풀이를 보니까 컴프리헨션 사용함

  • 확실히 컴프리헨션 사용하면 속도 빨라지는듯
  • 그리고 set은 중복제거
  • 그리고 sorted 함수에 key에 함수를 넣을 수 있는줄은 몰랐네..
    lambda도 들어가니까 참 다양하게 쓰일듯 ( len 함수를 key로 사용 )
profile
AI로 사회에 긍정적인 영향을 줄 수 있는 개발자가 되기 위해 성장하고 있습니다.

0개의 댓글