[algorithm] 백준 2751 - 수 정렬하기2
안녕하세요. 심심한 코딩쟁이입니다.
오늘은 백준 2751번 문제 - 수 정렬하기2 의 풀이를 살펴보도록 하겠습니다.
풀이에 사용한 언어는 Python3 입니다.
문제 해석과 풀이 다 함께 살펴보시죠.
백준 BAEKJOON 2751
반응형
문제 해석
주어지는 숫자들을 오름차순으로 정렬해서 하나씩 출력해내는것이 문제가 원하는 출력값이다.
하지만 조건이 하나 달리는데 모든 과정을 2초안에 수행해야한다.
힌트 : import sys
풀이
import sys
n = int(input())
list = []
for _ in range(n):
list.append(int(sys.stdin.readline()))
list.sort()
for i in list:
sys.stdout.write(str(i)+'\n')
풀이 해석 및 팁
input() 내장함수를 사용하는것 보다 더 빠르게 처리할 수 있는 sys.stdin.readline을 사용하면
시간내에 처리가 가능합니다.
마지막에 출력할 때 print 문을 사용해서 출력해도 시간적 여유가 남지만 sys를 임포트한 김에
출력도 sys.stdout.write()를 사용해서 문제를 해결해 보았습니다.
여기까지 백준 2751번 수 정렬하기2 문제 풀이였습니다.
이 문제는 시간 복잡도가 O(nlogn)인 정렬 알고리즘으로 풀 수 있습니다.
병합 정렬, 힙 정렬 등이 이에 해당되는 정렬 알고리즘이지만 어려운 알고리즘이므로
지금은 언어에 내장된 정렬 함수를 쓰는 것을 추천드립니다.
감사합니다.
반응형
'programming > algorithm' 카테고리의 다른 글
[algorithm] 백준 1427 - 소트인사이드 (0) | 2023.04.14 |
---|---|
[algorithm] 백준 10989 - 수 정렬하기3 (0) | 2023.04.13 |
[algorithm] 백준 25305 - 커트라인 (0) | 2023.04.11 |
[algorithm] 백준 2587 - 대표값2 (0) | 2023.04.10 |
[algorithm] 백준 2750 - 수 정렬하기 (0) | 2023.04.09 |