https://www.acmicpc.net/problem/9946
๋ฌธ์
์คํ๋ ์ ์น์์์ ๋จ์ด ํผ์ฆ๊ฒ์์ ์ฆ๊ฒจํ๋ค.
๋จ์ด ํผ์ฆ๊ฒ์์ด๋, ์ฃผ์ด์ง ์ํ๋ฒณ๋ค์ ์์ด์ ๋จ์ด๋ฅผ ๋ง๋๋ ๊ฒ์์ด๋ค.
์ฒ์ฌ ์คํ๋ ์ํ๋ฒณ์ ์์๋ก ์กฐํฉํ์ฌ, ์ฌ์ ๊ณผ ๋งค์นญ๋ ๋จ์ด๋ฅผ ๋ง๋๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ๋จ์ด๋ฅผ ์์ฑ์์ผฐ๋ค.
๊ทธ๋ฌ๋ ์์ฑ๋ ๋จ์ด๋ฅผ ์์ฅ๋์๊ฒ ๊ฐ์ ธ๊ฐ๋ ค๋ ์๊ฐ, ์ง๋๊ฐ๋ ๊ฐ๋ฏผ์ด์ ๋ถ๋ซํ์ ๋จ์ด์กฐ๊ฐ์ ๋ ์ ๋จ์ด๋จ๋ฆฌ๊ณ ๋ง์๋ค.
์คํ๋ ์ด์ฐ์ด์ฐ ์กฐ๊ฐ์ ํ์ํ์ง๋ง, ์์๋ ๋ค์ฃฝ๋ฐ์ฃฝ์ด ๋์๊ณ , ์ํ๋ฒณ์ด ๋ถ์กฑํ๊ฑฐ๋ ๋ค๋ฅธ ์ํ๋ฒณ์ด ์์์ ์๋ ์๋ค.
์คํ๊ฐ ์ฒ์์ ์์ฑํ ๋จ์ด์ ๋์ค์ ํ์ํ ์ํ๋ฒณ๋ค์ด ์ฃผ์ด์ง ๋,
์คํ๊ฐ ์ํ๋ฒณ์ ์ ๋๋ก ํ์ํ๋์ง ์ํ๋์ง ํ๋จํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด์ฃผ์.
์ ๋ ฅ
์ ๋ ฅ์ ์ผ์ด์ค๋ง๋ค ๋์ค๋ก ์ด๋ฃจ์ด์ ธ์๋ค.
์ฒซ์งธ ์ค์ ์คํ๊ฐ ์ฒ์ ์์ฑํ ๋จ์ด์ด๊ณ , ๋์งธ ์ค์ ๋จ์ด๋จ๋ฆฐ ๋ค์ ํ์ํ ์ํ๋ฒณ๋ค์ด๋ค.
๊ฐ ์ค์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ธธ์ด๋ 1000์ ๋์ง ์๋๋ค.
๋ง์ง๋ง์ END๋ผ๋ ๋จ์ด๊ฐ ๋์ค ์ฃผ์ด์ง๋๋ฐ, ์ด๋ ์ผ์ด์ค์ ๋์ ์๋ฏธํ๋ค.
์ถ๋ ฅ
์ผ์ด์ค๋ง๋ค ๋ฒํธ๋ฅผ ๋ถ์ฌ์ ์์ ์ถ๋ ฅ๊ณผ ๊ฐ์ ํ์์ผ๋ก ์ถ๋ ฅํ๋ค.
์คํ๊ฐ ์ํ๋ฒณ์ ์ ๋๋ก ํ์ํ๋ค๋ฉด same ์, ์๋ชป ํ์ํ๋ค๋ฉด different ๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
#include <iostream>
using namespace std;
int main () {
int num = 1; // ์ผ์ด์ค ๋๋ฒ
while(true){
int alpha[26] = {0}, bet[26] = {0};
string s1, s2;
cin >> s1 >> s2;
if(s1 == "END") break;
//๊ฐ ๋ฌธ์์ด์ ์ํ๋ฒณ ๊ฐ์๋ฅผ ๋ฐฐ์ด์ ์ ์ฅํ๊ธฐ
for(int i=0; i<s1.size(); i++){
alpha[s1[i]-'a']++;
}
for(int i=0; i<s2.size(); i++){
bet[s2[i]-'a']++;
}
//์ํ๋ฒณ ๋ฐฐ์ด ๋น๊ต
bool same = true;
for(int i=0; i<26; i++){
if(alpha[i] != bet[i]){
same = false;
break;
}
}
//์ถ๋ ฅ
if(same) cout << "Case " << num << ": " << "same\n";
else cout << "Case " << num << ": " << "different\n";
num++;
}
return 0;
}
'๐ฆ Chango > ๐ฃ EDOC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 2204๋ฒ: ๋๋น์ ๋๋ ์ฆ ํ ์คํธ (0) | 2021.11.02 |
---|---|
[BOJ][C++] 9946๋ฒ: ๋จ์ด ํผ์ฆ (0) | 2021.11.02 |
[BOJ][C++] ๋ฐฑ์ค 17521๋ฒ : Byte Coin (0) | 2021.10.06 |
BOJ ๋ฐฑ์ค 20170๋ฒ: Commemorative Dice (0) | 2021.10.01 |
BOJ ๋ฐฑ์ค 16283๋ฒ : Farm (0) | 2021.09.29 |