본문 바로가기
Algorithms

백준 1181. 단어 정렬

by Brian Go 2022. 6. 7.

 

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

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

댓글