문제 해결/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번째로 큰 점수를 가진 학생의 이름을 출력하였다.

 

정렬은 버블 정렬을 사용했다.

반응형