-
[백준 / Python] 1181번 단어 정렬 | 초코더알고리즘/백준 2020. 1. 12. 23:53
https://www.acmicpc.net/problem/1181
접근법
N번만큼 반복문을 돌려서 단어들을 list형태로 words에 저장해줍니다.
words를 정렬해주는데, 1.길이순으로 2.사전순으로 정렬해줍니다.
그런다음 같은 단어가 있다면 제거하고 출력해주어야하는데 처음엔 set()함수를 써서 제거하려다가 계속 오류가 나서 이방법을 사용했습니다.
1. 빈 리스트 result를 하나 만들어줌.
2. words에 있는 원소 중 result에 없는 원소만 출력함.
3. words에서 출력된 원소를 result배열에 저장해둠.
-> 즉 출력된 원소를 빈 리스트에 저장하고 같은 원소를 출력하지 않게 하기 위한 방법
나의풀이
N = int(input()) words = [] result = [] for i in range(N): words.append(list(input())) words.sort(key=lambda x:(len(x),x)) for i in words: if i not in result: print(''.join(i)) result.append(i)
'알고리즘 > 백준' 카테고리의 다른 글
[백준 / Python] 1026번 보물 | 초코더 (0) 2020.01.13 [백준 / Python] 2108번 통계학 | 초코더 (0) 2020.01.13 [백준 / Python] 11650번 좌표 정렬하기 | 초코더 (0) 2020.01.12 [백준 / Python] 10814번 나이순 정렬 | 초코더 (0) 2020.01.12 [백준 / Python] 11651번 좌표 정렬하기 2 | 초코더 (0) 2020.01.12