[Python] BOJ 1181: 단어 정렬
아이디어
- 정수
N
을 입력받고 반복문으로N
값만큼 유저로부터 단어를 순차적으로 입력받아 배열에 저장 len()
함수로 리스트 내 각 원소의 길이를 파악- 리스트 내 중복을 제거
- 리스트 내 각 원소의 길이가 같을 때 알파벳 순으로 정렬
코드
N = int(input())
li = []
for i in range(N):
word = str(input())
li.append(word)
li_set = set(li) # set으로 변환하여 li 리스트 내 중복 제거
Result_list = list(li_set) # set을 다시 리스트로 변환
Result_list = sorted(Result_list, key=len) # 원소의 길이를 기준으로 오름차순 정렬
Result_list = sorted(Result_list, key=lambda x: (len(x), x)) # 길이가 같을 때 알파벳 순으로 정렬
for j in range(len(Result_list)):
print(Result_list[j])
배운점
문제를 제대로 안봐서 사전 순으로 정렬하는 조건을 넣지 않아 계속 실패했다. 집중해서 읽어야겠다.
sorted()
함수의len
,lambda
조건
Author And Source
이 문제에 관하여([Python] BOJ 1181: 단어 정렬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@binsu/Python-백준-1181-단어-정렬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)