강의로 돌아가기
진성호

정확성 테스트 3 6 8 18번이 뭘까요 ㅠㅠㅠ

그냥 비교하면서 가장 긴 길이를 짝수, 홀수 구한 후, 큰 놈을 반환하는 순서로 짰습니다.

작성중인 코드―solution.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <string>
using namespace std;

int solution(string s)
{
    int answer = 0;
    int cnt = 1;
    int mcnt = 1;
    return 0;

    if(s.size() < 2)
    {
        return s.size();
    }

    for(int i = 1; i < s.size() - mcnt; i++)
    {
        while(s[i - cnt] == s[i + cnt])
        {
            cnt++;
            if((i - cnt == -1) || (i + cnt == s.size()))
            {
                break;
            }
        }

        if(mcnt < cnt) mcnt = cnt;
        cnt = 1;
    }

    answer = mcnt * 2 - 1;

    cnt = 0;
    mcnt = 0;

    for(int i = 0; i < s.size() - mcnt; i++)
    {
        while(s[i - cnt] == s[i + cnt + 1])
        {
            cnt++;
            if((i - cnt ==  -1) || (i + cnt + 1 == s.size()))
            { 
                break;
            }
        }

        if(mcnt < cnt) mcnt = cnt;
        cnt = 1;
    }

    answer = max(answer, mcnt * 2);

    return answer;
}
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.