꾸준히 합시다
백준 파이썬 2750번: 수 정렬하기 본문
문제 유형: 구현, 정렬
# Solution 1
n = int(input())
a = []
for _ in range(n) :
a.append(int(input()))
a = list(set(a))
a.sort(reverse=False)
print(*a, sep='\n')
# Solution 2
import sys
n = int(input())
a = []
for _ in range(n) :
input = int(sys.stdin.readline())
a.append(input)
a = list(set(a))
a.sort(reverse=False)
print(*a, sep='\n')
선택 정렬을 이용해 푸는 방법도 있겠지만 기본 정렬 라이브러리로 간단히 풀어 보았다. Solution 1, 2 모두 통과되었지만 역시 sys 모듈을 사용하니 처리 시간이 현저히 낮아졌다.
* O(nlogn)의 시간 복잡도를 지님
# Solution 3 - 선택 정렬
n = int(input())
array = []
for _ in range(n):
array.append(int(input()))
for i in range(n):
min_index = i
for j in range(i + 1, n):
if array[min_index] > array[j]:
min_index = j
array[i], array[min_index] = array[min_index], array[i]
print(*array, sep='\n')
* O(n^2)의 시간 복잡도를 지님
'코딩 테스트 문제 풀이' 카테고리의 다른 글
백준 파이썬 1924번: 2007년 (0) | 2021.03.05 |
---|---|
백준 파이썬 1110번: 더하기 사이클 (0) | 2021.03.05 |
백준 파이썬 1920번: 수 찾기 (0) | 2021.03.04 |
백준 파이썬 10951번: A+B - 4 (0) | 2021.03.04 |
백준 파이썬 10952번: A+B - 5 (0) | 2021.03.04 |
Comments