Algorithms

백준 1181. 단어 정렬

Brian Go 2022. 6. 7. 04:01

 

이번에는 단어를 입력받아 길이 순으로, 길이가 같으면 알파벳 순으로 정렬하고 중복이 있다면 제거하는 문제!

버블 소트에서 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)