[백준/BOJ] 13019. A를 B로 [Silver 2]

jychan99·2021년 12월 23일
0
post-thumbnail
  1. A를 B로

문제출처 : https://www.acmicpc.net/problem/13019

문자열의 뒤에서부터 돌면서 다른게 있으면 카운팅해준다.
A를B로 바꿀수없다는것은 A의 원소와 B의 원소와 다르다는 것인데,
나는 A와 B를 각각 정렬시켜서 문자열을 비교함으로써 걸러주었다.
그리고 출력결과는 문자열을 비교해서 같으면 카운트한갯수를 출력하고 다르면 -1을 출력한다.

code

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main()
{
	string A, B;
	int cnt = 0, i, j;

	cin >> A >> B;
	j = A.length() - 1;
	for (i = A.length()-1; i >=0; i--)
	{
		if (B[j] != A[i])
			cnt++;
		else
			j--;
	}

	sort(A.begin(), A.end());
	sort(B.begin(), B.end());

	if (A.compare(B) == 0)
		cout << cnt;
	else
		cout << -1;

	return 0;
}
profile
내가 지금 두려워 하고 있는 일이 바로 내가 지금 해야 할 일이다. 🐥

0개의 댓글