https://www.acmicpc.net/problem/11328
๋ฌธ์
C ์ธ์ด ํ๋ก๊ทธ๋๋ฐ์์ ๋ฌธ์์ด(string)์ nativeํ ์๋ฃํ์ด ์๋๋ค. ์ฌ์ค, ๋ฌธ์์ด์ ๊ทธ์ , ๋ฌธ์์ด์ ๋์ ํ์ํ๊ธฐ ์ํ ๋ง๋จ์ NULL์ด ์ฌ์ฉ๋, ๋ฌธ์๋ค๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ผ ๋ฟ์ด๋ค. ํ์ง๋ง ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๋ฌธ์์ด์ ๋ค๋ฃจ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํ๊ธฐ ๋๋ฌธ์, C ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฌธ์์ด์ ๋ค๋ฃจ๋ ๋ฐ์ ๋งค์ฐ ์ ์ฉํ ํจ์๋ค์ ์ ๊ณตํ๊ณ ์๋ค : ๊ทธ๋ค ์ค์๋ strcpy, strcmp, strtol, strtok, strlen, strcat ๊ฐ ์๋ค.
ํ์ง๋ง, ์ ์๋ ค์ ธ ์์ง ์์ผ๋ฉฐ, ์ ์ฌ์ฉ๋์ง๋ ์๋ ํจ์๊ฐ ํ๋ ์๋ค : strfry ํจ์๋ค. strfry ํจ์๋ ์ ๋ ฅ๋ ๋ฌธ์์ด์ ๋ฌด์์๋ก ์ฌ๋ฐฐ์ดํ์ฌ ์๋ก์ด ๋ฌธ์์ด์ ๋ง๋ค์ด๋ธ๋ค. (์ญ์ ์ฃผ : ์ฌ๊ธฐ์์ ์ ๋ ฅ๋ ๋ฌธ์์ด๊ณผ ์๋ก ์ฌ๋ฐฐ์ด๋ ๋ฌธ์์ด์ด ๋ค๋ฅผ ํ์๋ ์๋ค.)
๋ ๊ฐ์ ๋ฌธ์์ด์ ๋ํด, 2๋ฒ์งธ ๋ฌธ์์ด์ด 1๋ฒ์งธ ๋ฌธ์์ด์ strfry ํจ์๋ฅผ ์ ์ฉํ์ฌ ์ป์ด์ง ์ ์๋์ง ํ๋จํ๋ผ.
์ ๋ ฅ
์ ๋ ฅ์ ์ฒซ ๋ฒ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ์ 0 < N < 1001 ์ด๋ค.
๊ฐ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ ํ๋์ ์ค์ ์์ด ์๋ฌธ์๋ค๋ก๋ง ์ด๋ฃจ์ด์ง ๋ ๊ฐ์ ๋ฌธ์์ด์ด ํ ๊ฐ์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ๋ฌธ์์ด์ ๊ธธ์ด๋ ์ต๋ 1000 ์ด๋ค.
์ถ๋ ฅ
๊ฐ๊ฐ์ ํ ์คํธ ์ผ์ด์ค์ ๋ํด, 2๋ฒ์งธ ๋ฌธ์์ด์ด 1๋ฒ์งธ ๋ฌธ์์ด์ strfry ํจ์๋ฅผ ์ ์ฉํ์ฌ ์ป์ด์ง ์ ์๋์ง์ ์ฌ๋ถ๋ฅผ "Impossible"(๋ถ๊ฐ๋ฅ) ๋๋ "Possible"(๊ฐ๋ฅ)์ผ๋ก ๋ํ๋ด์์ค. (๋ฐ์ดํ๋ ์ ์ธํ๊ณ ์ถ๋ ฅํ๋ค.)
ํ์ด
ํํ๋ง ์ด์ง ๋ค๋ฅผ ๋ฟ์ด์ง ๊ฒฐ๊ตญ ๊ตฌ์ฑํ๋ ๋ฌธ์๋ค์ ์ข ๋ฅ์ ๊ฐฏ์๊ฐ ๊ฐ์์ง๋ฅผ ๋ฌผ์ด๋ณด๋ ๋ฌธ์ ์ด๋ค
์ํ๋ฒณ ๋ฒกํฐ๋ฅผ ๋ง๋ค์ด์ ๊ฐ ์ํ๋ฒณ์ ์๋ฅผ ์ธ์ฃผ๋ฉด ๋๋๋ฐ,
์ด๋ ๋ฒกํฐ๋ฅผ ๋๊ฐ๋ง๋ค๊ณ ์ถ์ง ์์์ s1 ๊ธ์๋ค์ ++, s2 ๊ธ์๋ค์ --๋ฅผ ํด์คฌ๋ค.
์ดํ ๋ชจ๋ ๊ฐฏ์๊ฐ 0์ธ์ง ์๋์ง์ ๋ฐ๋ผ ๋ฆฌํดํด์คฌ๋ค.
#include <iostream>
#include <vector>
using namespace std;
bool solution(string s1, string s2) {
vector<int> cnt(26, 0);
if(s1.size() != s2.size())
return false;
for(int i=0; i<s1.size(); i++) {
cnt[s1[i]-'a']++;
cnt[s2[i]-'a']--;
}
for(int i : cnt)
if(i != 0) return false;
return true;
}
int main() {
int n;
cin >> n;
string s1, s2;
while(n--) {
cin >> s1 >> s2;
if(solution(s1, s2))
cout << "Possible\n";
else
cout << "Impossible\n";
}
return 0;
}
'๐ Baaaaaarking > 0x03๊ฐ - ๋ฐฐ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 1919๋ฒ: ์ ๋๊ทธ๋จ ๋ง๋ค๊ธฐ (0) | 2023.05.02 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 13300๋ฒ: ๋ฐฉ ๋ฐฐ์ (0) | 2023.04.27 |
[BOJ][C++] ๋ฐฑ์ค 3273๋ฒ : ๋ ์์ ํฉ (0) | 2021.12.23 |
[BOJ][C++] ๋ฐฑ์ค 1475๋ฒ : ๋ฐฉ ๋ฒํธ (0) | 2021.12.22 |
[BOJ][C++] ๋ฐฑ์ค 10808๋ฒ : ์ํ๋ฒณ ๊ฐ์ (0) | 2021.12.22 |