안선생의 개발 블로그
문자열 중복체크 본문
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 |