또 뭐하지
백준 10989번 수 정렬하기 3 본문
728x90
■ 처음에 제출했던 코드
import sys
n = int(sys.stdin.readline())
l = []
for _ in range(n):
l.append(int(sys.stdin.readline()))
l.sort()
for i in range(n):
print(l[i])
메모리 초과가 떴다.. 5초 안에 정렬을 해야하는걸 보니 엄청 빠르게 해야하나보다.. 정렬알고리즘을 알아봤다.
■ 참고 자료
https://east-star.tistory.com/10
정렬 알고리즘(Sorting Algorithm) 정복하기 - with JS
안녕하세요. 동쪽별입니다. 이번 포스트에서는 여러 정렬 알고리즘에 대해 살펴보고, 자바스크립트로 구현해보도록 하겠습니다. 목차 거품 정렬(Bubble Sort) 선택 정렬(Selection Sort) 삽입 정렬(Insert
east-star.tistory.com
https://seongonion.tistory.com/130
계수(카운팅) 정렬 (Counting sort) with 파이썬(Python)
카운팅 정렬, 혹은 계수 정렬은 O(n + k)의 시간복잡도를 가진 정렬이다. 여기서 다소 낯선 k는 정렬을 수행할 배열의 가장 큰 값을 의미한다. k가 단순히 상수로 취급되어 생략되지 않고 남아있는
seongonion.tistory.com
k가 10000까지로 제한되어 있어서 계수 정렬을 쓰기로 했다.
■ 최종 제출 코드
import sys
n = int(sys.stdin.readline())
l = [0] * 10001
for _ in range(n):
l[int(sys.stdin.readline())] += 1
for i in range(10001):
if l[i] != 0:
for _ in range(l[i]):
print(i)
'I.sly() > 10기 심화 - 프로그래밍' 카테고리의 다른 글
백준 1181번 단어 정렬 (0) | 2024.11.18 |
---|---|
백준 11050번 이항계수1 (0) | 2024.11.11 |
백준 2869번 달팽이는 올라가고 싶다 (0) | 2024.11.08 |
백준 1259번 팰린드롬수 (0) | 2024.10.30 |
백준 15829번 Hashing (0) | 2024.10.30 |