압축메소드문제인데요ㅠㅠ제발도와주세요 JAZZTIC ## 보시다시피 압축메소드문제인데요, 예시로제시한 테스트케이스같은경우 에러가 나지 않는데 제출하면 RTE (SIGKILL: program was forcefully killed, probably memory limit exceeded) 이러한 에러가 뜹니다. 어느부분에서 메모리가 폭팔되는지 전혀 감이 안잡히네요 ㅠㅠ 어느부분을 손 봐야 할지 잘 모르겠습니다 ㅠㅠ 고수님들 힌트라도 주시면 정말 감사합니다! #include <iostream> #include <string> #include <stdlib.h> using namespace std; string GetACM(string strObj); int main(){ string** strInput; int nTestCase; cin >> nTestCase; strInput = new string*[nTestCase]; for(int i = 0 ; i < nTestCase; i++) { strInput[i] = new string[2]; } for(int i = 0 ; i < nTestCase; i++){ for(int j = 0 ; j < 2 ; j++){ cin >> strInput[i][j]; } } for(int i = 0 ; i < nTestCase ; i++){ if((GetACM(strInput[i][0]) == GetACM(strInput[i][1]))) { cout << "YES" <<endl; } else{ cout << "NO" <<endl; } delete[] strInput[i]; } return 0; } string GetACM(string strObj){ string strCopy = ""; string Buffer = ""; string strNum =""; int i = 0 ; while(int(strObj.size()) != i) { strNum = ""; strCopy = ""; if(strObj[i] == '('){ i++; while(1){ if(strObj[i] == ')'){ break; } strCopy += strObj[i]; i++; }//복사해서 붙혀넣을 문자열 strCopy에 저장 i = i + 2; while(1){ if(strObj[i] == '('||(strObj[i] >= 'A' && strObj[i] <= 'Z')||(int(strObj.size()) == i)) { break; } strNum += strObj[i]; i++; } for(long long j = 0 ; j < atoi( strNum.c_str() ); j++){ Buffer += strCopy; } }//첫번쨰 if문 닫는 괄호 else{ Buffer += strObj[i]; i++; } } return Buffer; } 9년 전
1개의 댓글이 있습니다. JongMan 실제 압축을 해제한 문자열은 엄청나게 길 수 있습니다. 9년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
JAZZTIC
##
보시다시피 압축메소드문제인데요,
예시로제시한 테스트케이스같은경우 에러가 나지 않는데
제출하면 RTE (SIGKILL: program was forcefully killed, probably memory limit exceeded)
이러한 에러가 뜹니다. 어느부분에서 메모리가 폭팔되는지 전혀 감이 안잡히네요 ㅠㅠ
어느부분을 손 봐야 할지 잘 모르겠습니다 ㅠㅠ
고수님들 힌트라도 주시면 정말 감사합니다!
9년 전