컴퓨터/자질구레 팁

두 항목의 순서를 무시한 중복 확인하기

adnoctum 2011. 5. 13. 03:22


   자료형이 두 항목으로 되어 있을 때, 순서를 무시하고 중복을 확인하는 방법을 알아 보자. 좀 더 쉽게 설명하면, 자료가 (A,B) 처럼 두 개의 항목이 쌍으로 있을 때, (A,B)와 (B,A)를 같은 것으로 간주하여 중복된 것을 제거하는 방법. 만약 코딩을 하려 한다면 그냥 하면 되고, 엑셀을 이용해서 가끔 이와 같은 작업을 해야 할 때가 있는데 이 때는 약간의 잔재주가 필요하다. 방법은 간단하다. A, B, C, ... 각 항목에 중복되지 않는 소수(prime number)를 부여한다. 그 이후, (A,B)의 값을 A와 B에 부여된 소수의 곱으로 할당해 준다. 이렇게 하면 곱한 수가 같으면 같은 쌍이거나 순서가 뒤바뀐 쌍이다. 이 두 경우가 아닌데 곱한 값이 같을 수는 없다. 왜냐 하면,

두 소수 p, q의 곱 pq 는 소수의 정의에 따라 p, q 각각에 의해서밖에 나뉘어지지 않기 때문이다.
(다른 버전으로, 두 소수 p, q 의 곱 pq 가 어떤 수 k 에 의해 나뉘어 졌다면 k 는 p 또는 q 이어야만 한다)

아주아주 간단한 정수론적 설명 끝. ㅋㅋ

엑셀에서 이렇게 하기 위해서는 1. 중복 제거, 2, vlookup 정도만 쓰면 된다. 또한 소수의 목록은 이 곳이나 기타 구글링 결과를 이용하면 된다. 참 쉽다.