728x90
반응형

#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
class Student
{
public:string FirstName;
public:string Class;
public:string Area;
};
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
std::cout.tie(NULL);
int num;
cin >> num;
vector<Student> arr(num);
for (int i = 0; i < num; i++)
{
cin >> arr[i].FirstName >> arr[i].Class >> arr[i].Area;
}
string latestFirstName = arr[0].FirstName;
string latestClass = arr[0].Class;
string latestArea = arr[0].Area;
for (int i = 0; i < num; i++)
{
if (arr[i].FirstName > latestFirstName)
{
latestFirstName = arr[i].FirstName;
latestClass = arr[i].Class;
latestArea = arr[i].Area;
}
}
cout << "name : " << latestFirstName << endl;
cout << "addr : " << latestClass << endl;
cout << "city : " << latestArea << endl;
}
먼저 Student 클래스를 정의합니다.
class Student
{
public:string FirstName;
public:string Class;
public:string Area;
};
그 다음으로 메인 함수를 정의합니다.
몇 번 입력 받을지 num 변수를 정의하고, 입력 받습니다.
vector<Student> arr(num)을 사용해 학생 정보를 저장할 동적 배열을 생성합니다.
int num;
cin >> num;
vector<Student> arr(num);
for 루프를 통해 FirstName, Class, Area 정보를 입력받아 각각의 Student 객체에 저장합니다.
for (int i = 0; i < num; i++)
{
cin >> arr[i].FirstName >> arr[i].Class >> arr[i].Area;
}
latestFirstName, latestClass, latestArea 변수를 초기화한 후,
for 루프를 통해 FirstName의 사전순 비교를 통해 가장 느린 이름을 찾습니다.
string latestFirstName = arr[0].FirstName;
string latestClass = arr[0].Class;
string latestArea = arr[0].Area;
for (int i = 0; i < num; i++)
{
if (arr[i].FirstName > latestFirstName)
{
latestFirstName = arr[i].FirstName;
latestClass = arr[i].Class;
latestArea = arr[i].Area;
}
}
마지막으로 출력합니다.
cout << "name : " << latestFirstName << endl;
cout << "addr : " << latestClass << endl;
cout << "city : " << latestArea << endl;

'c++ > 학교 문제 풀이' 카테고리의 다른 글
c++ 문제 풀이 - 데이트 횟수 계산 (0) | 2025.04.26 |
---|---|
c++ 문제 풀이 - 100일 계산 (0) | 2025.04.25 |
c++ 문제 풀이 - 객체의 정렬 2 (0) | 2025.04.23 |
c++ 문제 풀이 - 인내의 숲 2단계 - 2 (0) | 2025.03.28 |
c++ 문제 풀이 - 인내의 숲 2단계 - 1 (0) | 2025.03.27 |