Recent Posts
«   2024/12   »
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
Today
Total
관리 메뉴

Try

[Programmers/C++] 배열의 중복된 값 찾기. 본문

Algorithm/Programmers

[Programmers/C++] 배열의 중복된 값 찾기.

HAS3ONG 2018. 11. 11. 20:05

시간복잡도  과   두가지 방법




 예제 소스.


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
/*
/*    
/*    khsh5592@naver.com
/*    has3ong.tistory.com
/*    
/*    2018 - 11 - 11
/*
*/
#include <stdio.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
int Check_Data_1[15= {10111301352491268147};
int Check_Data_2[15= {1051301382491268147};
 
void Check_Array()
{
 
    int location;
    int value;
 
    int count = sizeof(Check_Data_1) / sizeof(int);
 
    for(int i = 0; i< count; i++)
    {
        for(int j = i+1; j<count; j++)
        {
 
            if ( Check_Data_1[i] == Check_Data_1[j])
            {
                location = i;
                value = Check_Data_1[i];
 
                cout << " 배열의 중복이 발생하였습니다. " << endl;
                cout << " 중복의 위치는 : [ " << location << " ] 값은 : [ " << value << " ] " <<endl;
                return ;
            }
 
        }
    }
    cout << " 배열의 중복된 값이 없습니다. " << endl;
}
 
void main()
{
    Check_Array();
    getch();    
}
cs





  예제소스



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
56
57
58
59
/*
/*    
/*    khsh5592@naver.com
/*    has3ong.tistory.com
/*    
/*    2018 - 11 - 11
/*
*/
#include <stdio.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
int Check_Data_1[15= {10111301352491268147};
int Check_Data_2[15= {1051301382491268147};
 
typedef struct Select {
    int data;
    bool answer;
};
 
Select S[15];
 
void Check_Array()
{
    int location;
    int value;
 
    int count = sizeof(Check_Data_2) / sizeof(int);
 
    for(int i = 0; i< count; i++)
    {
        int j = Check_Data_2[i];
        if(S[j].answer == true)
        {
            location = S[j].data;
            value = Check_Data_2[i];
            cout << " 배열의 중복이 발생하였습니다. " << endl;
            cout << " 중복의 위치는 : [ " << location << " ] 값은 : [ " << value << " ] " <<endl;
            return;
        }
 
        else
        {
            int item = Check_Data_2[i];
            S[item].data = i;
            S[item].answer = true;
        }
    }
 
    cout << " 배열의 중복된 값이 없습니다. " << endl;
}
 
void main()
{
    Check_Array();
    getch();    
}
cs




결과화면.





Comments