안선생의 개발 블로그

문자열 중복체크 본문

C++

문자열 중복체크

안선생 2022. 10. 11. 21:33

1.

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
#include <iostream>
using namespace std;
int main()
{
    char x[] = "banana";
    int i, j;
    int count = 0;
    int sum = 0;
    for (i = 0; x[i] != NULL; i++)
    {
        count = 1;
        for (j = i + 1; x[j] != NULL; j++)
            if (x[i] == x[j] && x[i] != -1)
            {
                count++;
               
                x[j] = -1// 두번 못새게 값을 -1로 만들어줌
            }
        if (count > 1)
        {
            cout << x[i] << "의 갯수는 : " << count << "\n";
            sum = sum + count;
        }
        
    }
    cout << "총 겹치는 갯수는 " << sum;
    return 0;
}
 
cs

 

2. 해싱테이블

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main()
{
    char x[] = "banana";
    int h[26]={}; //소문자 한정 26개
    int i, j;
    for (i = 0; x[i] != NULL; i++)
    {
        h[x[i]-97]++//'a'값인 97를 빼준다.
    }
    for (i = 0; i<26; i++)
    {
        if (h[i] > 1)
        {
            cout << (char)(i + 97<< ":";
            cout << h[i] << endl;
        }
    }
    return 0;
}
cs

'C++' 카테고리의 다른 글

문자열 크기비교  (0) 2022.10.11
문자열 뒤집기  (0) 2022.10.11
문자열 대소문자 변경  (0) 2022.10.10
2차원배열 동적할당  (0) 2022.10.02
C++ 다형성  (0) 2022.09.22