반응형
문제
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번 방법이 더 적절한 풀이일 것 같다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 1912: 연속합 (0) | 2023.04.19 |
---|---|
[파이썬, Python] 백준 2156: 포도주 시식 (0) | 2023.04.18 |
[파이썬, Python] 백준 2667: 단지번호붙이기 (0) | 2023.04.14 |
[파이썬, Python] 백준 1012: 유기농 배추 (0) | 2023.04.13 |
[파이썬, Python] 백준 15650: N과 M (2) (0) | 2023.04.12 |