[백준 1181 파이썬] - 단어 정렬

zsunny·2022년 7월 12일
0

📌 문제

💯 정답

import sys
input = sys.stdin.readline

n = int(input())
nums = set(input().strip() for _ in range(n))       # sys로 문자열입력시 strip()안하면
nums = list(nums)                                   # 출력형식이 잘못되었습니다 뜸
nums.sort()
nums.sort(key=lambda i: len(i))     # sort(key = len) 랑 같음
for i in nums:
    print(i)

📝 설명

• 위 코드를 보면 nums를 입력받을때 int로 즉시 형변환을 하지 않고 문자열형태로 입력받고 있다.
  이때, strip()을 적어주지 않으면 "\n" 개행이 포함된 상태로 입력이 된다.
  이로인해 이후 출력형식이 다르게 되므로 꼭!! strip()을 적어주어야 한다.
• 문제 조건에서 중복은 제거하고 출력해야하므로 nums를 정렬하기 전 set()을 사용한다.
• 우선 사전순으로 정렬을 한 후 길이 순으로 정렬하면 문제의 조건을 만족한다.
profile
매일 성장하는 예비 웹 개발자 🌱

0개의 댓글