[백준] 1181번 : 단어 정렬 (파이썬)

뚝딱이 공학도·2022년 1월 29일
0

문제풀이_백준

목록 보기
40/159




문제





나의 첫번째 답안

n=int(input())
a=[]
for i in range(0,n):
    a.append(input())
a=list(set(a))
a.sort(key=len)

for i in a:
    print(i)

단어를 알파벳 순으로 정렬해주는 것을 빼먹었다.

나의 최종 답안

n=int(input())
a=[]
for i in range(0,n):
    a.append(input())
a=list(set(a))
a.sort()
a.sort(key=len)

for i in a:
    print(i)
  1. 반복문을 통해 n번 입력 받고, 이를 배열에 추가해준다.
  2. 그 후 배열에서 중복을 제거해주기 위해 set을 사용하고, sort함수를 사용할 것이므로 list로 만들어준다.
  3. 단어를 알파벳으로 정렬해주기 위해 sort()를 파라미터 없이 사용해준다(첫번째 제출에서 빼먹은 부분)
  4. 이후 길이순으로 정렬해주기 위해 sort(key=len)을 사용해준다. key는 어떤 함수로 정렬할 지 선택할 때 사용하는 인자값이다. 여기서는 길이 순서대로 정렬하기 위해 len을 사용해주었다.
  5. 마지막으로 배열의 요소를 하나하나 출력해주기 위해 반복문을 사용하였다.

0개의 댓글