백준_1181 (단어 정렬_실버5_정렬_sort()의 파라미터 key_lambda_중요2 + sys.stdin.readline().strip())

RostoryT·2022년 8월 14일
0

Sorting and Recursive

목록 보기
8/11



메모

백준 국영수 문제랑 동일하게 접근하면 된다.
다행히 국영수를 어제 풀었어서 sort(key = lambda x:~~)를 바로 생각해냈다

이때, 중요한건 중복을 제거하고, 정렬을 여러 번 해야한다.
따라서 "set"을 사용했고, set은 정렬되지 않은 상태(트리구조)이므로, 리스트로 변환 후 sort()를 진행했다.

10분도 안걸려서 바로 푼듯

--> 근데, sys.stdin.readline()쓸 때, strip()를 안써서 출력에러가 떴었다.
--> strip()는 좌우 공백을 제거해주는 것인데, readline()쓸 때 필수다!


솔루션 코드 - 내가 푼

  • 람다 안에서 정렬 기준은
    • 1차적으로 len()을 기준으로 정렬하고
    • 2차적으로 x를 기준으로 정렬(데이터 길이가 다 달라서 x[0], x[1], ... 할 수 없으니)
import sys
input = sys.stdin.readline
n = int(input().strip())
arr = [input().strip() for _ in range(n)]

arr = sorted(list(set(arr)), key = lambda x:(len(x), x))
print("\n".join(map(str,arr)))

profile
Do My Best

0개의 댓글