it 지식/백준 문제 중 자잘한 문법 정리
백준 - 파이썬 1157 단어 정렬
곰종
2023. 1. 16. 17:12
문제 내용

문제 예시

내가 푼 방법
주의 할 점 sort를 쓸 때, 두 번을 진행하였는데 최종결과물이 내가 원하는 대로 나오려면 순서를 맞춰야함
ex) 길이순으로 정렬 한 후(word.sort(key=len)) 다시 오름차순(word.sort())으로 정렬하면
최종적으로는 오름차순으로 정렬하게 됨 따라서 오름차순으로 정렬 한 후 거기서 길이를 맞춰야함
+ input() 보다는 sys.stdin.readline()이 훨씬 빠르다.
|
1
2
3
4
5
6
7
8
9
10
11
|
n = int(input())
word = []
for _ in range(n):
word.append(input())
word = list(set(word))
word.sort()
word.sort(key=len)
for i in range(len(word)):
print(word[i])
|
cs |
총 단어의 갯수 n을 입력받고, word 리스트를 생성하여 단어 하나하나 씩 word 에 append한다
6번라인에서 중복값을 제거하고
7번라인에서 알파벳 오름차순으로 정렬 한 다음
8번 라인에서 길이순으로 또 한번 정렬한다.
이 문제에서 출력을 한 줄씩 출력하기에 for문으로 len(word) 최종 길이만큼 반복하고 list 앞부터 출력한다.
주요 문법 : sort()
정렬도 이렇게 저렇게 정렬하는 방법이 있다는걸 알게 되었던 문제