본문 바로가기
C++ 코딩 문제 풀이/백준

[Baekjoon] 2908번: 상수

by 섬댕이 2023. 5. 29.

 

https://www.acmicpc.net/problem/2908

 

2908번: 상수

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두

www.acmicpc.net

 


 

문제 해결 과정

착안

숫자를 뒤집어 읽었을 때의 대소 비교는 주어진 숫자들을 일의 자리의 수부터 차례로 십의 자리 수, 백의 자리 수를 비교하는 과정을 통해 빠르게 확인할 수 있으므로 이를 활용하여 문제를 해결하고자 하였다.

* 문제에서 주어지는 숫자가 반드시 세 자리 숫자이며, 서로 다른 숫자라는 조건이 있기 때문.

 

구현

[스포 주의] 아래 '더보기'를 누르면 코드가 나오니 주의하세요~

더보기
#include <iostream>

using namespace std;

int main()
{
	char A[4] = { 0, };
	char B[4] = { 0, };
	bool PrintB = true;
	cin >> A >> B;

	for (int i = 2; i >= 0; i--)
	{
		if (A[i] == B[i])
			continue;

		if (A[i] > B[i])
			PrintB = false;
		
		break;
	}

	for (int i = 0; i < 3; i++)
		cout << (PrintB ? B[2 - i] : A[2 - i]);
	cout << "\n";

	return 0;
}

 

실행 결과

댓글