[백준] 10867: 중복 빼고 정렬하기 (in Python)

Yanagi·2022년 4월 14일
0

PS

목록 보기
5/7

문제

내가 짠 소스코드

import sys
N = int(sys.stdin.readline())
K = list(map(int, sys.stdin.readline().strip().split())) 
K = set(K)
K = list(K)
K.sort()
for i in range(len(K)):
    print(K[i], end=' ')

소스코드 설명

K = list(map(int, sys.stdin.readline().strip().split())) 
  • 반복해서 입력하므로 map 함수 사용. readline() 함수는 자동 개행 되므로 strip() 를 사용하여 개행을 막았다. 또한, split()를 사용하여 입력 값 사이에 공백을 두었고 이들을 리스트화 하여 하나의 리스트로 만들었다.
K = set(K)
K = list(K)
K.sort()
  • set() 함수를 사용하여 리스트에서 중복된 숫자들을 제거했다. 여기서 주의해야할 점은, set() 함수를 사용하면 순서가 사라진다는 것이다. 나는 set() 함수를 사용하고 sort() 함수를 사용하여 정렬해주었는데, 왜인지 자꾸 에러가 났다. 구글링해보았더니, set() 함수를 사용하면 순서가 사라지므로, 다시 list()를 해야한다고 한다. 이 부분을 간과해서 여러번 에러가 났던 것이다.

느낀 점

문제는 어려운 문제는 아니다. 그런데, 나는 놓치고 있는 부분이 있었다. 바로 set() 내장 함수를 사용하면 순서가 없어진다는 것이다. 그래서, set() 함수를 사용해준 다음, 다시 리스트화 시켰다. set() 내장 함수 개념 정리를 한 번 더 해야할 것 같다.

profile
<'쟤'보단 내가 낫지> 에서 '쟤'를 담당하고 있습니다.

0개의 댓글