ANAGRAM질문입니다. RexPark // a = 97, z = 122 #include <stdio.h> #include <string.h> int main(void) { int numberOfCaseT; char firstChar[100][100], secChar[100][100]; int engBasicFirst[26], engBasicSec[26]; int firstLen[100], secLen[100]; scanf("%d",&numberOfCaseT); int i; for(i=0;i<numberOfCaseT;i++){ scanf("%s %s", &firstChar[i], &secChar[i]); } for(i=0; i<numberOfCaseT;i++){ int j, k = 0; firstLen[i] = strlen(firstChar[i]); secLen[i] = strlen(secChar[i]); if(strcmp(firstChar[i], secChar[i])==0){ printf("No.\n"); } else if(firstLen[i]!=secLen[i]){ printf("No.\n"); }else{ for(j=0;j<firstLen[i];j++){ engBasicFirst[firstChar[i][j]-97]++; engBasicSec[secChar[i][j]-97]++; } k =0; while(k<27){ if(engBasicFirst[k]!=engBasicSec[k]){ printf("No.\n"); break; } k++; }if(k==27){ printf("Yes\n"); } } } return 0; } 영어 순서 배열을 만들어 읽어드린 영어 문자열을 해당 알파벳의 위치에 1씩 + 시켜 결과값을 비교하는 알고리즘을 만들었습니다. 예를들어 Apple 같은경우 engBasicFirst [0][1][2][3][4]...[l번째]...[p번째] 1 0 0 0 1 .... 1 ... 2 제가 뽑은 결과값은 맞게 나오는데 오류로 나오는 이유를 모르겠네요 .ㅠㅠ 똑같은 문자열이면 No. 를 출력하도록 설정해도 오류가납니다 도와주세요!! 10년 전
0개의 댓글이 있습니다. 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
RexPark
영어 순서 배열을 만들어 읽어드린 영어 문자열을 해당 알파벳의 위치에 1씩 + 시켜 결과값을 비교하는 알고리즘을 만들었습니다.
예를들어
Apple 같은경우
engBasicFirst
[0][1][2][3][4]...[l번째]...[p번째]
1 0 0 0 1 .... 1 ... 2
제가 뽑은 결과값은 맞게 나오는데
오류로 나오는 이유를 모르겠네요 .ㅠㅠ
똑같은 문자열이면 No. 를 출력하도록 설정해도 오류가납니다
도와주세요!!
10년 전