본문 바로가기
Algorithm/알고리즘 문제풀이

백준 2750 파이썬 - 수 정렬하기(선택정렬)

by devraphy 2021. 8. 24.

1. 문제 링크

https://www.acmicpc.net/problem/2750

 

2750번: 수 정렬하기

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net


2. 나는 어떻게 생각했는가? 

# 백준 단계별 풀이 12단계 - 수 정렬하기 
# https://www.acmicpc.net/problem/2750

# 선택정렬을 사용해서 풀어보자. 
from typing import List
from sys import stdin
input = stdin.readline

def selection_sort(case: List[int]) -> List[int]:
  for idx in range(len(case)):
    min_num = case[idx]
    min_idx = idx
    for i in range(idx, len(case)):
      if case[i] < min_num:
        min_num = case[i]
        min_idx = i
    case[idx], case[min_idx] = case[min_idx], case[idx]
  return case

t = int(input())
case = []
for _ in range(t):
  case.append(int(input()))

print("\n".join(map(str, selection_sort(case))))

 

댓글