개발 연습장/백준 문제풀이

[파이썬, Python] 백준 10867: 중복 빼고 정렬하기

LooanCheong 2023. 4. 17. 10:47
반응형

문제

https://www.acmicpc.net/problem/10867

 

10867번: 중복 빼고 정렬하기

첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.

www.acmicpc.net

코드

n = int(input())
num = list(map(int, input().split()))
ans = []

for i in num:
    if i not in ans:
        ans.append(i)
for i in sorted(ans):
    print(i, end=' ')
n = int(input())
num = set(map(int, input().split()))

for i in sorted(num):
    print(i, end = ' ')

설명

1번 풀이

수를 입력받아주고, 중복되지 않은 수를 넣을 리스트(ans)를 만들어준다.

그리고 입력받은 수(num)를 돌면서,
ans에 해당 숫자가 없다면 추가해 준다.

sorted 된 ans를 돌면서 출력 형식에 맞게 출력해 준다.

2번 풀이

set을 통해 중복을 제거해 주고 출력 형식에 맞게 출력한다.

수의 범위가 크지 않아서 2가지 방법으로 풀이를 할 수 있었다.
아마 2번 방법이 더 적절한 풀이일 것 같다.

반응형