백준 단계별로 풀어보기(C++)/5)문자열

백준 2908) 상수 (C++)

코테 2023. 3. 25. 21:00

전체 코드

#include <iostream>

int main()
{
	char A[4];
	char B[4];

	std::cin >> A >> B;

	for (int i = 2; i >= 0; i--)
	{
		if (A[i] > B[i])
		{
			for (int i = 2; i >= 0; i--)
			{
				std::cout << A[i];
			}
			break;
		}
		else if (A[i] <  B[i])
		{
			for (int i = 2; i >= 0; i--)
			{
				std::cout << B[i];
			}
			break;
		}
	}
}

풀이

  • char 배열 선언
  • 두수는 세자리로 고정될것이므로 다음과 같이 선언
char A[4];
char B[4];
  • 2부터 0까지 역순으로 반복되는 반복문 : 역순으로 값을 1개씩 검사함(문제에서 역순으로 큰값을 구해야 하므로 역순검사함), 만약 둘중 하나라도 큰 값이 나오면 연산을 수행하고 같다면 다음 반복을 함(단, 값이 서로 다르다는게 문제에 나와있으므로 연산을 못하는 경우는 없음)
  • A[i] 값이 B[i] 값보다 클 경우 : 역순반복문으로 A값을 역순으로 출력하고 반복문 끝내기
  • B[i] 값이 A[i] 값보다 클 경우 : 역순반복문으로 B값을 역순으로 출력하고 반복문 끝내기
for (int i = 2; i >= 0; i--)
{
	if (A[i] > B[i])
	{
		for (int i = 2; i >= 0; i--)
		{
			std::cout << A[i];
		}
		break;
	}
    
	else if (A[i] <  B[i])
	{
		for (int i = 2; i >= 0; i--)
		{
			std::cout << B[i];
		}
		break;
	}
    
}