백준

백준 1181번 문제풀이 [python]

ys.k 2023. 7. 4. 09:48

포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.

문제를 보자.

확실히 Top100 문제를 풀 때 보다, 한 가지 주제에 대해 여러 가지 사례를 공부하니 훨씬 이해와 학습이 빠르다.

 

코드를 보자.

 

코드

a = int(input())
array = []
for i in range(a):
    array.append(input())
   
array = sorted(set(array), key = lambda x:(len(x),x))
for i in array:
    print(i)

드디어 뭔가 있어보이는 코드를 스스로 짜서 발전했음을 느낀다. ㅋㅋ

 

근데 별거 없다.

 

set 함수를 통해 중복을 제거하고 해당 값을 list로 반환.

 

중복제거된 리스트를 길이 순 정렬 후 요소 순 정렬을 진행한다.

 

그리고 for문을 돌며 요소를 하나씩 출력한다.

 

배운 점

1. 중복을 제거할 때, set() 함수를 먼저 사용하는 게 좋다. 왜냐하면 정렬 진행 후 set 함수를 사용하면 순서가 뒤죽박죽이 된다.