IT 프로그래밍/C++

[C++] 두 날짜 간의 어느 것이 더 이른지 비교하는 프로그램 작성

기술1 2024. 3. 9. 11:53
반응형

 

풀이


#include <iostream>

using namespace std;

int main()
{
	int y1, m1, d1, y2, m2, d2;


	cin >> y1 >> m1 >> d1;
	cin >> y2 >> m2 >> d2;
	if (y1 < y2)
		cout << "-1" << endl;
	else if (y1 > y2)
		cout << "1" << endl;
	else if (m1 < m2)
		cout << "-1" << endl;
	else if (m1 > m2)
		cout << "1" << endl;
	else if (d1 < d2)
		cout << "-1" << endl;
	else if (d1 > d2)
		cout << "1" << endl;
	else
		cout << "0" << endl;


	return 0;
}

처음에 접근할 때 else if를 쓰지 않고 계속해서 && 과 ||를 써서 하려다 보니 너무 복잡해지는 것 같아서 챗gpt의 도움을 살짝 받았습니다. 기본적인 틀은 이렇게 유지한다는 것만 보고 푸는 것은 직접 풀었습니다. 

 

풀이과정은 먼저 if를 통해 y1 < y2를 걸러주면 else if를 통해 그것을 제외한 나머지를 구할 수 있기 때문에 이런 방식을 이용해서 차근차근 else if로 제외해준 다음 마지막 else에선 날짜가 같은 조건만 나오게 해준 간단한 방식입니다. 

 

여기서 제가 주의해야 할 점은 if를 통해 할 경우 else if를 사용할 경우 앞에 내용을 소거가 가능하기 때문에 더 간단한 풀이로 할 수 있다는 점입니다. 

반응형