이번에는 단어를 입력받아 길이 순으로, 길이가 같으면 알파벳 순으로 정렬하고 중복이 있다면 제거하는 문제!
버블 소트에서 sort 조건을 바꿔서 풀었다.
n = int(input())
def sort_lst(lst):
lst = list(set(lst)) #중복 제거를 위해 집합으로 캐스팅 후 다시 리스트로 캐스팅
for i in range(len(lst)):
for j in range(len(lst) - i - 1):
if len(lst[j]) > len(lst[j + 1]):
lst[j], lst[j + 1] = lst[j + 1], lst[j]
elif len(lst[j]) == len(lst[j + 1]):
if lst[j] > lst[j + 1]:
lst[j], lst[j + 1] = lst[j + 1], lst[j]
return lst
lst = []
for i in range(n):
lst.append(input())
lst = sort_lst(lst)
for i in lst:
print(i)

'Algorithms' 카테고리의 다른 글
| 백준 18870. 좌표 압축 (0) | 2022.06.07 |
|---|---|
| 백준 10814. 나이순 정렬 (0) | 2022.06.07 |
| 백준 11651. 좌표 정렬하기 2 (0) | 2022.06.07 |
| 백준 11650. 좌표 정렬하기 (0) | 2022.06.07 |
| 백준 1427. 소트인사이드 (0) | 2022.06.07 |
댓글