while(testCase--){stringstr1,str2;cin>>str1>>str2;if(str1==str2)//같은 문자열은 안되니 No.출력cout<<"No."<<endl;else//아닌경우에는 비교 isAnagram(str1,str2);}return0;}voidisAnagram(string&str1,string&str2){// str1 제일 처음꺼와 str2전체를 비교while(str1.size()!=0){// 예외 :) str1과 str2의 크기가 다르면 No.출력if(str1.size()!=str2.size()){cout<<"No."<<endl;break;}for(intj=0;j<str2.size();++j){// 만약 같은게 있으면 지움.if(str1[0]==str2[j]){str1.erase(str1.begin());str2.erase(str2.begin()+j);break;}// str2 끝까지 돌았는데 없으면 str1처음것을 지움if(j==str2.size()-1)str1.erase(str1.begin());}}// str1의 크기가 0이되면 Yes출력 if(str1.size()==0)cout<<"Yes"<<endl;}
loveljh
문제는 이거입니다.ANAGRAM
정렬하여 비교할수도 있었지만 다른방법으로 풀어보고 싶어서 이런식으로 풀었는데 막혀버렸네요.
어디가 문제인걸까요?.. 도와주세요
11년 전