코테연습문제
[백준/Python]1181 단어정렬
SI-AH
2023. 5. 4. 19:29
N = int(input())
wordSet = set()
# 중복되는 단어는 하나만 남기고 제거
for _ in range(N):
wordSet.add(input())
# 사전 순 정렬
sortedWord = sorted(wordSet)
# 길이로 정렬
sortedWord.sort(key=len)
for w in sortedWord:
print(w)
유의 했던 사항
1. 중복되는 단어는 제거 후 하나만 남김 → set() 사용
풀이과정
1. set으로 중복 없는 단어 set을 입력받음
2. sorted로 사전 순 정렬
3. key = len으로 단어들을 길이 기준으로 정렬
4. for문으로 단어 하나씩 출력
알게 된 것
1. key=len
리스트 요소를 길이 순으로 정렬할 때는 sort메소드에서 key=len을 입력해 사용할 수 있다
2. sort() / sorted()
(1) sort()
-리스트에서만 사용 가능
-리스트 원본값을 직접 수정 → sorted보다 더 빠름
(2) sorted()
-리스트 외에도 사용 가능
-원본 값은 그대로이고, 새로운 복사본을 만들어 정렬하며, 새로운 복사본은 리스트형
-) sort(key=len)을 몰라서 좀 오래 걸렸다. 단어와 단어길이로 딕셔너리 만들고 난리치다가 sort(key=len)을 알게됐다....... 다음부터는 잘 활용해야지ㅜ