URI문제 질문드립니다!! PeterFromSeoul %25의 경우 예외처리를 하여 %2520등의 문제를 해결하였고, 모든 Testcase에 답이 나오는데 어떤 부분에서 틀린지 알고싶습니다.. 왜 오답인지 알려주시면 감사하겠습니다. 코드 #include <stdio.h> #include <string.h> int main() { char str[80]; char *enc; int C; scanf("%d", &C); for (int i = 0; i < C; i++) { scanf("%s", str); do { if (enc = strstr(str, "%20")) { strcpy(enc + 1, enc + 3); str[enc - str] = ' '; } else if (enc = strstr(str, "%21")) { strcpy(enc + 1, enc + 3); str[enc - str] = '!'; } else if (enc = strstr(str, "%24")) { strcpy(enc + 1, enc + 3); str[enc - str] = '$'; } else if (enc = strstr(str, "%25")) { strcpy(enc + 1, enc + 3); str[enc - str] = '#'; } else if (enc = strstr(str, "%28")) { strcpy(enc + 1, enc + 3); str[enc - str] = '('; } else if (enc = strstr(str, "%29")) { strcpy(enc + 1, enc + 3); str[enc - str] = ')'; } else if (enc = strstr(str, "%2a")) { strcpy(enc + 1, enc + 3); str[enc - str] = '*'; } } while (enc != NULL); do { if (enc = strchr(str, '#')) str[enc - str] = '%'; } while (enc != NULL); printf("%s\n", str); } } 7년 전
1개의 댓글이 있습니다. Corea 해결하셨네요! strcpy에서 source와 destination은 겹치면 안되는 것으로 알고 있습니다.. 7년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
PeterFromSeoul
%25의 경우 예외처리를 하여 %2520등의 문제를 해결하였고,
모든 Testcase에 답이 나오는데 어떤 부분에서 틀린지 알고싶습니다..
왜 오답인지 알려주시면 감사하겠습니다.
코드
7년 전