[백준] 수 정렬하기
2024. 9. 26. 13:49ㆍ코딩테스트
수 정렬하기
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 | 128 MB | 219221 | 125843 | 86363 | 58.200% |
문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
오름차순으로 정렬하는 방법이 여러가지가 있는데 버블 정렬을 통해 오름차순 정렬을 하였다.
#include <iostream>
#include <vector>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int size = 0;
cin >> size;
vector<int> myVector(size, 0);
for (int i = 0; i < size; i++)
{
cin >> myVector[i];
}
for (int i = 0; i < size - 1; i++)
{
for (int j = 0; j < size - 1 - i; j++)
{
if (myVector[j] > myVector[j + 1])
{
int temp = myVector[j + 1];
myVector[j + 1] = myVector[j];
myVector[j] = temp;
}
}
}
for (int i = 0; i < size; i++)
{
cout << myVector[i] << '\n';
}
}
for (int i = 0; i < size - 1; i++)
{
for (int j = 0; j < size - 1 - i; j++)
{
if (myVector[j] > myVector[j + 1])
{
int temp = myVector[j + 1];
myVector[j + 1] = myVector[j];
myVector[j] = temp;
}
}
}
첫번재 for문은 루프 횟수이고, 2번쨰는 해당 루프에서 비교하는 횟수이다. temp를 통해 swap에 없어질 데이터를 미리 저장해 바꾼후 저장한다.
'코딩테스트' 카테고리의 다른 글
[백준] 소트인사이드 c++ (1) | 2024.09.30 |
---|---|
[백준] 버블 소트 c++ (0) | 2024.09.30 |
[백준] 절대값 힙 c++ (1) | 2024.09.26 |
[백준] 카드2 c++ (0) | 2024.09.24 |
[백준] 오큰수 c++ (0) | 2024.09.24 |