문제 해결/CodeUp
[CodeUp] [C++] 1420번 3등 찾기
WSLim_97
2024. 2. 1. 22:43
반응형
https://codeup.kr/problem.php?id=1420&rid=0
3등 찾기
민준이는 뒤늦게 정보 과목의 중요성을 깨닫고 학습실에서 공부를 하고 있습니다. 기초적인 공부가 부족하여 아주 쉬운 문제부터 어려움을 겪은 민준이는 친구에게 물어보려고 합니다. 가장 잘
codeup.kr
코드
#include <iostream>
using namespace std;
int main()
{
string name, arrStr[50], tempStr;
int arrInt[50], n, score, tempInt;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> name >> score;
arrStr[i] = name;
arrInt[i] = score;
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n - 1; j++)
{
if (arrInt[j] < arrInt[j + 1])
{
tempInt = arrInt[j];
arrInt[j] = arrInt[j + 1];
arrInt[j + 1] = tempInt;
tempStr = arrStr[j];
arrStr[j] = arrStr[j + 1];
arrStr[j + 1] = tempStr;
}
}
}
cout << arrStr[2];
return 0;
}
풀이
n명의 학생의 이름과 점수를 입력받아 점수가 3번째로 큰 점수를 받은 학생의 이름을 출력하는 문제이다.
이름과 점수를 각각 배열에 저장하였고 점수를 내림차순으로 정렬한 뒤 3번째로 큰 점수를 가진 학생의 이름을 출력하였다.
정렬은 버블 정렬을 사용했다.
반응형