Koala - 5기/기초 알고리즘 스터디

[백준/c++] 2752번 세수정렬

Suyun 2022. 1. 16. 14:35

문제

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

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

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

 

입력

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

 

출력

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

 

예제 입력 1 복사

3 1 2

 

예제 출력 1 복사

1 2 3

[ 문제분석 ]

숫자 세 개를 입력받으면 오름차순으로 출력한다.

[ 코드 ]

[ 문제풀이 ]

입력받은 세 수를 A 행렬에 저장한다. 문제에서 숫자는 3개라고 했으므로 A 행렬의 크기는 정해져있다.

for문을 이용해 세 수를 A 행렬로 받는다.

만약 A[ j + 1 ]이 A[ j ]보다 작다면 if문을 실행한다.

잠시 a에 A[ j ]를 대입해놓고, A[ j + 1 ]를 A[ j ]로 치환한 다음, a를 A[ j + 1 ]의 수로 넣는다.

이 과정을 통해 A행렬의 숫자를 오름차순으로 정리할 수 있다.

마지막 출력도 for문을 이용한다.