작명하기 힌트 좀 주세요

  • sangchu
    sangchu

    1.
    su = strcat(fa, mo);
    for(i = 1, j = size - 1 ; i <= size ; i++, j---)
    if(equal(&su[0], &su[i], &su[j])
    printf("%d ", i);
    2.
    for(i = 0 ; i < mo.length() ; i++)
    fa.push_back(mo[i]);
    for(i = 1 ; i <= fa.length() ; i++) {
    if(fa.substr(0, i) == fa.substr(fa.length()-i, fa.length()))
    printf("%d ", i);
    }
    3.
    su = strcat(fa, mo);
    for(i = 1, j = size - 1 ; i <= size ; i++, j--) {
    f.push_back(su[i]);
    s.insert(s.begin(), su[j]);
    if(f == s)
    printf("%d ", i );
    }
    위의 세가지를 다 써봤는데 시간 초과가 나왔습니다.
    기본적으로 앞, 뒤에서 같이 인덱스를 증가하면서 문자열을 비교해
    값을 출력하는 방식으로 작성을 했는데요. 일단 루프를 한 번 돌아야
    값을 도출할 수 있지 않나요?
    가벼운 마음으로 접근했는데, 생각보다 어렵군요. 해결하신 분들은
    어떻게 푸셨는지 힌트 부탁드립니다.

    [이 글은 과거 홈페이지에서 이전된 글입니다. 원문보기]

    14년 전
1개의 댓글이 있습니다.