최대 1 분 소요

1. 문제

[Bronze IV] 세수정렬 - 2752

문제 링크

성능 요약

메모리: 30840 KB, 시간: 68 ms

분류

정렬(sorting)

문제 설명

동규는 세수를 하다가 정렬이 하고싶어졌다.

숫자 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어 졌다.

숫자 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오.

입력

숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다.

출력

제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력한다.

출처: 백준, https://https://www.acmicpc.net/

2. 해결방법 시간복잡도

  1. 단순 코딩 O(N^2)
  2. 더 쉽게 O(NlogN)

3. 문제 해결 및 코드


  • 주석을 참고하면서 이해를 돕습니다.

4. 알고리즘 및 해설

  1. 반복문을 통해 현재 위치 값과 다음 위치값을 비교하는 단순 반복문을 통한 정렬이다.
  2. 이후 정렬된 해당 리스트를 출력해준다.

5. 더 쉽게

A = list(map(int, input().split()))
for i in sorted(A): print(i, end = " ")
  • 해당 문제는 sorted() 정렬 함수를 통해 좀 더 쉽게 풀이가 가능하다.