# 생각

a to z 알파벳 각 문자의 개수를 저장하는 배열을 선언하여 해결 가능하다

첫 번째 입력받는 문자열의 각 문자 개수는 더해주고

두 번째 입력받는 문자열의 각 문자 개수는 빼주게되면

0이면 조합이 가능한 문자열이고, 0이 아니면 조합이 불가능한 문자열임을 알 수 있다

 

 

# 전체 코드

#include <bits/stdc++.h>
using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int TC;
    cin >> TC;

    while (TC--)
    {
        string s1, s2;
        cin >> s1 >> s2;

        int a[26] = {};
        for (auto c : s1)
        {
            a[c - 'a']++;
        }
        for (auto c : s2)
        {
            a[c - 'a']--;
        }

        bool bPossible = true;

        for (auto i : a)
        {
            if (i != 0)
            {
                bPossible = false;
            }
        }

        if (bPossible == true)
        {
            cout << "Possible\n";
        }
        else
        {
            cout << "Impossible\n";
        }
    }
}

 


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

 

11328번: Strfry

C 언어 프로그래밍에서 문자열(string)은 native한 자료형이 아니다. 사실, 문자열은 그저, 문자열의 끝을 표시하기 위한 말단의 NULL이 사용된, 문자들로 이루어진 문자열일 뿐이다. 하지만 프로그래

www.acmicpc.net

'Algorithm > BOJ' 카테고리의 다른 글

[BOJ] 10814_나이순 정렬 with cpp  (0) 2022.02.18
[BOJ] 15683_감시 with cpp  (0) 2022.02.17
[BOJ] 3273_두 수의 합 with cpp  (0) 2022.02.17
[BOJ] 10808_알파벳 개수 with cpp  (0) 2022.02.16
[BOJ] 1799_비숍 with cpp  (0) 2022.02.15

+ Recent posts