본문 바로가기

코테/정렬9

[C/C++] 나동빈 성적이 낮은 학생 순서대로 출력하기, 정렬 문제 첫째 줄에 학생의 수 N이 입력된다. 두 번째 줄부터 N+1번째 줄까지 학생의 이름을 나타내는 문자열 A와 학생의 성적을 나타내는 정수 B가 입력된다. 문자열A의 길이와 학생의 성적은 100이하의 자연수이다. 성적이 낮은 순서대로 학생의 이름을 출력하라 코드 #include #include #include using namespace std; int main() { int N, b; string a; vector score; cin >> N; for (int i = 0; i > a >> b; score.push_back({ b, a }); } sort(score.begin(), score.end()); for (int i = 0; i < N; i++) cout 2023. 3. 1.
[C/C++] 나동빈 위에서 아래로, 정렬 문제 첫째줄에 수열에 속한 수의 갯수 N이 주어지며 둘째줄부터 N+1번째 줄까지 수가 주어진다. 이 수를 내림차순으로 정렬하는 프로그램을 만드시오 코드 #include #include #include using namespace std; int main() { int N, temp; vector arr; cin >> N; for (int i = 0; i > temp; arr.push_back(temp); } reverse(arr.begin(), arr.end()); for (int i = 0; i < N; i++) cout 2023. 3. 1.
[C/C++] 정렬 1. 선택정렬 (1) 선택정렬이란 : 전체의 데이터를 한번씩 확인하며 그 데이터를 적절한 위치로 이동시키는 것을 의미한다. (2) 오름차순으로 정렬하는 경우 : N개의 데이터가 입력될 때 n번째로 작은 데이터를 n번째 위치로 옮기는 과정을 정렬이 완료될 때까지 반복한다. 한 데이터를 옮길 때마다 나머지 N-n-1개의 데이터와 비교하게 된다. (3) 시간복잡도 : N개의 데이터에 대해 실행되는데 그 연산 횟수가 N+(N-1)+(N-2)+...+2이므로 N(N+1)=N²+N이다. 따라서 시간복잡도는 O(N²)이다. #include using namespace std; int main() { int arr[10] = { 7,5,2,4,1,3,6,9,0,8 }; for (int i = 0; i < 10; i++.. 2023. 3. 1.