[C++] baekjoon 5635

oat·2024년 2월 26일

everydayBOJ

목록 보기
26/51

Day 26

5635

문제

code

#include<iostream>

using namespace std;

int main() {
	int n;
	string name[1000];
	int day[1000];
	int month[1000];
	int year[1000];

	int minYear = 10000;
	int minMonth = 10000;
	int minDay = 10000;
	string minName; // 제일 나이 많은 사람

	int maxYear = 0;
	int maxMonth = 0;
	int maxDay = 0;
	string maxName; // 제일 나이 적은 사람

    cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> name[i] >> day[i] >> month[i] >> year[i];
	}

	for (int i = 0; i < n; i++) {
		// 제일 나이 많은 사람 찾기 (minName)
		if (minYear > year[i]) {
			minName = name[i];
			minYear = year[i];
			minMonth = month[i];
			minDay = day[i];
		}
		else if (minYear == year[i]) {
			if (minMonth > month[i]) {
				minName = name[i];
				minYear = year[i];
				minMonth = month[i];
				minDay = day[i];
			}
			else if (minMonth == month[i]) {
				if (minDay > day[i]) {
					minName = name[i];
					minYear = year[i];
					minMonth = month[i];
					minDay = day[i];
				}
			}
		}

		// 제일 나이 적은 사람 찾기 (maxName)
		if (maxYear < year[i]) {
			maxName = name[i];
			maxYear = year[i];
			maxMonth = month[i];
			maxDay = day[i];
		}
		else if (maxYear == year[i]) {
			if (maxMonth < month[i]) {
				maxName = name[i];
				maxYear = year[i];
				maxMonth = month[i];
				maxDay = day[i];
			}
			else if (maxMonth == month[i]) {
				if (maxDay < day[i]) {
					maxName = name[i];
					maxYear = year[i];
					maxMonth = month[i];
					maxDay = day[i];
				}
			}
		}
	}
	cout << maxName << endl;
	cout << minName << endl;
}

풀이 과정

각 년, 월, 일을 비교하도록 조건문을 작성하였다

0개의 댓글