[2751] 수 정렬하기2
2751번: 수 정렬하기 2
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
Input
- 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)
- 둘째 줄부터 N개의 줄에는 수
- 이 수는 절댓값이 1,000,000보다 작거나 같은 정수, 중복되지 않음
Output
- 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과
✨ Solve
- 리스트 정렬
- list.sort()
- list = sorted(list)
- sys.stdin.readline()
- 개행문자 포함한 입력값을 리턴하지만 더 빠름
💻 Code
### 언어 python3, 메모리 154472KB, 시간 1156ms
# 수의 개수 N (1 ≤ N ≤ 1,000,000)
# 둘째 줄부터 N개의 줄에는 수(1,000,000보다 작거나 같은 정수, 중복되지 않음)
import sys
n = int(input())
numbers = [int(sys.stdin.readline()) for i in range(n)]
numbers.sort()
answer = '\n'.join(map(str, numbers))
print(answer)
# 선택정렬: array에서 가장 작은 값을 찾아 맨 앞의 값과 교체
def selection_sort(numbers):
for i in range(len(numbers)):
pick = i
for j in range(i+1, len(numbers)):
if numbers[pick]>numbers[j]: pick = j
numbers[pick], numbers[i] = numbers[i], numbers[pick]
# 삽입정렬: 두 번째 값부터 시작해 앞(왼쪽) 값들과 비교하여 삽입 위치 지정
def insertion_sort(numbers):
for i in range(1, len(numbers)):
for j in range(i, 0, -1):
if numbers[i-1] > numbers[i]:
numbers[i-1], numbers[i] = numbers[i], arr[i-1]
# 버블정렬: 맨 처음 값부터 시작해 그 다음 값과 비교해서 앞의 값이 뒤의 값보다 클 경우 자리를 바꿈
def bubble_sort(numbers):
for i in range(len(numbers)-1, 0,-1):
for j in range(i):
if numbers[j] > numbers[j+1]:
numbers[j], numbers[j+1] = numbers[j+1], numbers[j]
'# 소쿠리 개발 공부방 > 코테 문제풀이' 카테고리의 다른 글
[BAEKJOON] [18870] 좌표 압축: PYTHON (0) | 2023.07.18 |
---|---|
[BAEKJOON] [10816] 숫자카드2: PYTHON (0) | 2023.07.18 |
[BAEKJOON] [1920] 수 찾기: PYTHON (0) | 2023.07.18 |
[BAEKJOON] [11728] 배열 합치기: PYTHON (0) | 2023.07.18 |