https://www.acmicpc.net/problem/10867
문제 분석
이 문제는 중복된 정수를 제외하고 오름차순으로 정렬한 결과를 출력하는 간단한 문제이다.
코드
n = int(input())
arr = set(map(int,input().split()))
arr = sorted(arr)
print(" ".join(map(str,arr)))
문제풀이
이번 스터디를 통해 배우지 않았더라면 리스트를 사용하여 조건문을 활용해 중복된 값은 넣지않는 코드로 구현을 하였겠지만, 이번에 set이라는 집합 자료형을 배웠다.
a = set()
b = {1,2,3,3} #output: {1, 2, 3}
set 형은 다음과 같이 선언할 수 있으며 딕셔너리 자료형과 매우 유사하다.
set형은 중복된 값들은 제거되기 때문에 b를 출력하게 되면 {1, 2, 3} 값이 출력된다.
이를 이용해 arr에 값들을 set형으로 받아 중복된 값을 제거한 후
sorted 함수를 통해 오름차순으로 정렬해 준 뒤
출력해주면 된다.
하지만 출력할 때 주의사항으로 join함수를 사용하여 list와 같은 집합 자료형을 출력할 때 값들의 형식이 int형이면 오류가 뜨게 된다. 이 때문에 join(map(str,arr))를 통해 해결해 줄 수 있다.
원문
'Koala - 5기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/python] 2750번 수 정렬하기 (0) | 2022.01.23 |
---|---|
[백준/python] 2750번 수 정렬하기 (0) | 2022.01.23 |
[백준/c++] 2511번 카드놀이 (0) | 2022.01.23 |
[백준/python] 10773번 - 제로 (0) | 2022.01.22 |
[BOJ 19946 / Python 3] 2의 제곱수 계산하기 (0) | 2022.01.22 |