튜토리얼의 LECTURE 문제 어디서 틀렸는지 모르겠습니다 arbc139 왠만한 케이스에서 돌아가는거 같은데 어딜 손봐야할지 모르겠네요 ㅠㅠㅠㅠㅠ LECTURE #include <iostream> #include <cstring> using namespace std; int minIndex(int arr[], int first, int last); void sortStr(char str[], int arr[], int arrSize); int main() { int T; cin >> T; char str[1000]={NULL}; int token_num; while(T--) { cin >> str; if(strlen(str)%2 != 0) exit(0); token_num = strlen(str)/2; int index=0; int* sort = new int[token_num]; for(int i=0; i!=token_num; i++) { sort[i] = ((int)str[index])*10 + (int)str[index+1]; index += 2; } sortStr(str, sort, token_num); cout << str << endl; } return 0; } int minIndex(int arr[], int first, int last) { int index=first; int min=arr[first]; for(int i=first; i!=last+1; i++) { if(min > arr[i]) { min = arr[i]; index = i; } } return index; } void sortStr(char str[], int arr[], int arrSize) { int temp; int temp_index; char temp1, temp2; for(int i=0; i!=arrSize; i++) { temp = arr[i]; temp_index = minIndex(arr, i, arrSize-1); arr[i] = arr[temp_index]; arr[temp_index] = temp; temp1 = str[2*i]; temp2 = str[2*i+1]; str[2*i] = str[temp_index*2]; str[2*i+1] = str[temp_index*2+1]; str[temp_index*2] = temp1; str[temp_index*2+1] = temp2; } } 11년 전
2개의 댓글이 있습니다. VOCList 1 azba 위 케이스 답이 잘 안나오는 것 같네요. 그리고 스트링이 최대 1000자까지 들어오면 마지막에 들어올 널 문자를 생각해서 str배열은 1001개를 잡아줘야 할 것 ㅓ같습니다. 11년 전 link arbc139 @VOCList 해결했네요! 고맙습니다! 11년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
arbc139
왠만한 케이스에서 돌아가는거 같은데
어딜 손봐야할지 모르겠네요 ㅠㅠㅠㅠㅠ
LECTURE
11년 전