자료형이 두 항목으로 되어 있을 때, 순서를 무시하고 중복을 확인하는 방법을 알아 보자. 좀 더 쉽게 설명하면, 자료가 (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 정도만 쓰면 된다. 또한 소수의 목록은 이 곳이나 기타 구글링 결과를 이용하면 된다. 참 쉽다.
'컴퓨터 > 자질구레 팁' 카테고리의 다른 글
연구용 코딩시 몇 가지 작성 요령 (1) | 2011.07.05 |
---|---|
특정 폴더나 프로그램에 대한 바로 가기를 만드는 법 (0) | 2011.06.04 |
몇 가지 유용한 함수들 만들어 사용하기 (4) | 2011.05.06 |
synergy : 여러 본체에서 키보드와 마우스 공유하기 (0) | 2011.03.11 |
Cytoscape의 JVM 에러 (6) | 2011.03.11 |