ENCRYPT 질문드립니다.

  • 정인호
    정인호

    ENCRYPT

    실행하면 제대로 변환되서 출력되는데 오답이라고 나오네요.
    어디서 문제가 발생했는지 궁금합니다!

    #include <iostream>
    #include <string.h>
    using namespace std;
    int main()
    {
        int cases;
        int j,k;
        char str[101];
        char res[101];
    
        cin >> cases;
        while (cases--) {
            cin >> str;
            j = 0;
            if ((strlen(str) % 2) == 0)
                k = strlen(str) / 2;
            else
                k = strlen(str) / 2 + 1;
    
            for (int i = 0; i < strlen(str); i++) {
                if ((i % 2) == 0) {
                    res[j++] = str[i];
                }
                else {
                    res[k++] = str[i];
                }
            }
            res[strlen(str) + 1] = '\0';
            cout << res << endl;
        }
    }
    

    7년 전
1개의 댓글이 있습니다.
  • Corea
    Corea
    res[strlen(str) + 1] = '\0';
    

    가 아니라

    res[strlen(str)] = '\0';
    

    가 아닐까요?


    7년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.