728x90
- 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120886
"문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요."
#include <string>
#include <vector>
using namespace std;
int solution(string before, string after) {
for (int i = 0; i < before.size(); i++)
{
for (int j = 0; j < after.size(); j++)
{
if (before[i] == after[j])
{
after.erase(after.begin() + j);
break;
}
}
}
return after.size() == 0 ? 1 : 0;
}
하나씩 비교하여 해당되는 문자를 지우는 방법이다. 명확하지만 문자를 일일이 지우는 번거로운 과정이 수행된다.
순서와 상관 없이 모든 문자가 들어있는지만 확인하면 되므로, 문자열 정렬 후 비교를 해주는 방법도 있다.
#include <string>
#include <algorithm>
using namespace std;
int solution(string before, string after) {
sort(before.begin(), before.end());
sort(after.begin(), after.end());
return before == after;
}
728x90
'Algorithm > Programers' 카테고리의 다른 글
피자 나눠 먹기 (2) (0) | 2023.06.06 |
---|---|
피자 나눠 먹기 (1) (0) | 2023.06.06 |
자릿수 더하기 (0) | 2023.06.06 |
모스부호 (1) (0) | 2023.06.05 |
세균 증식 (0) | 2023.06.05 |
댓글