-
백준 10867번 - 중복 빼고 정렬하기BOJ-Algorithm 2022. 1. 2. 17:37
https://www.acmicpc.net/problem/10867
10867번: 중복 빼고 정렬하기
첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.
www.acmicpc.net
n = int(input()) arr = sorted(list(set(map(int, input().split())))) print(*arr)
두 번째 줄이 조금 가독성이 떨어질텐데, 괄호 안쪽부터 하나씩 설명해 보면
- input( ).split( ) : 한 줄로 공백을 두고 구분된 값들을 리스트 형태로 분리한다.
- map(function, object) : object를 function이 가리키는 형태로 변환한다. input으로 입력받으면 기본이 str 형태이므로 이를 숫자로 변환한다.
- set( ) : 집합으로 변환한다. set은 중복된 값을 자동으로 제거해준다.
- list( ) : 리스트로 변환한다. set은 sort 개념이 없으므로 list로 변환하여 정렬할 수 있도록 한다.
- sorted( ) : 리스트 값을 오름차순으로 정렬한다.
마지막 줄의 *arr 은 arr 리스트 안의 값들을 순서대로 하나씩 공백을 두고 출력하게 해 주는 asterisk 기법이다.
'BOJ-Algorithm' 카테고리의 다른 글
백준 9102번 - 괄호 (0) 2022.01.03 백준 1769번 - 3의 배수 (0) 2022.01.03 백준 1181 - 단어 정렬 (0) 2022.01.02 백준 1427번 문제 - 소트인사이드 (0) 2021.12.27 백준 2750번 문제 - 수 정렬하기 (0) 2021.12.25