ANAGRAM 문제를 풀고있는데 좀 막히네요 loveljh 문제는 이거입니다.[[problem:ANAGRAM]] while(testCase--){ string str1,str2; cin>> str1 >> str2; if(str1 == str2) //같은 문자열은 안되니 No.출력 cout<<"No."<<endl; else //아닌경우에는 비교 isAnagram(str1,str2); } return 0; } void isAnagram(string& str1, string& str2){ // str1 제일 처음꺼와 str2전체를 비교 while(str1.size() != 0){ // 예외 :) str1과 str2의 크기가 다르면 No.출력 if(str1.size() != str2.size() ){ cout<<"No."<<endl; break; } for(int j=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; } 정렬하여 비교할수도 있었지만 다른방법으로 풀어보고 싶어서 이런식으로 풀었는데 막혀버렸네요. 어디가 문제인걸까요?.. 도와주세요 12년 전
2개의 댓글이 있습니다. Being str1이 한 글자 뿐일 때 문제가 될 것 같습니다. 12년 전 link loveljh 아...; 그러네요 그부분을 잡아야되겠네요 순간 생각지도못한 예외가 있었네요 ㅠ 감사합니다 ^ 12년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
loveljh
문제는 이거입니다.[[problem:ANAGRAM]]
정렬하여 비교할수도 있었지만 다른방법으로 풀어보고 싶어서 이런식으로 풀었는데 막혀버렸네요.
어디가 문제인걸까요?.. 도와주세요
12년 전