문제
풀이
이 문제는 입력받은 수를 단순히 정렬하는 문제이므로 sort 함수를 이용하면 손쉽게 해결할 수 있습니다. 그러나 처음에는 sort를 사용하여 접근할 생각을 못해 입력 받은 값에 대해 temp 값을 두고, 이중 for문을 이용하여 두 수를 비교 후 앞의 수가 뒤의 수보다 크기가 작을 경우 두 수의 위치를 바꾸는 방식으로 풀이를 진행하였습니다.
소스코드
1. 이중 for문 활용
#include<iostream>
using namespace std;
int main(){
int n,temp=0;
cin >> n;
int arr[n]={0,};
for (int i = 0; i < n; i++)
{
cin >> arr[i];
}
for (int i = 0; i < n; i++)
{
for (int j = i+1; j < n; j++)
{
if(arr[j]<arr[i]){
temp=arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
}
}
for (int i = 0; i < n; i++)
{
cout << arr[i] <<'\n';
}
return 0;
}
2. sort 함수 활용
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int n;
cin >> n;
int arr[n]={0,};
for (int i = 0; i < n; i++)
{
cin >> arr[i];
}
sort(arr,arr+n);
for (int i = 0; i < n; i++)
{
cout << arr[i] <<'\n';
}
}
'Algorithm > Python, C++' 카테고리의 다른 글
백준 1427_소트인사이드 [C++] (0) | 2022.07.15 |
---|---|
백준 10989_수 정렬하기3 [C++] (0) | 2022.07.14 |
백준 1316_그룹 단어 체커 [C++] (0) | 2022.07.12 |
백준 2941_크로아티아 알파벳 [C++] (0) | 2022.07.11 |
백준 5622_다이얼 [C++] (0) | 2022.07.10 |
댓글