Computer Science/Basic Math

[기초 수학] 집합과 경우의 수

simDev1234 2022. 7. 8. 13:00

|  집합(Set)

✏️ 개념 정리 

특정 조건에 맞는 원소들의 모임

 

- 특징

중복되지 않은 수들을 한 곳에 모아놓는 것으로, 자바에서는 Set을 사용해 중복데이터를 거를 수 있다.

 

- 종류

종류 기호 HashSet 메소드
교집합 A ∩ B a.retainAll(b);
합집합 A ∪ B a.addAll(b);
차집합 A  -  B a.removeAll(b);
여집합 Ac -

 

💻 구현하기

[ HashSet 구현해보기 ]

 

|  경우의 수

✏️ 개념 정리 

어떤 사건에서 일어날 수 있는 경우의 가짓수 : n(A)

종류 내용 기호 예시
합의 법칙 A와 B의 분리된 집단에 관한 
어떤 사건의 경우의 수를 구할 때
* 단 두 집단의 합은 전체 집단이어야 한다.
n( B) = n(A) + n(B) - n(A ∩ B) - 남(5명)/여(3명) 집단이 있을 때,
나열할 수 있는 모든 경우의 수 
- 주사위 두 개를 던졌을 때,
전체 합이 3의 배수 또는 4의 배수가 나오는 모든 경우의 수
곱의 법칙 A와 B의 사건이 동시에 일어날 때
= A와 B의 사건이 연달아서 일어나며, 모든 사건이 끝나지 않았을 때
n(x B) = n(A) x n(B) - 주사위와 동전을 동시에 던졌을 때,
나올 수 있는 모든 경우의 수
- 주사위 두 개를 던졌을 때, 
하나는 3의 배수 하나는 4의 배수가 나오는 모든 경우의 수

 

(1) 약수 

- 6의 약수는 1,2,3,6

- N의 약수를 코드로 구할 때 루프를 사용한다면 N/2만큼만 루프를 돌려 나누어떨어지는 수를 구하고, 마지막으로 자기 자신을 더해주면 된다 (why? 2로 나누었을 때 절반까지만 나눠질것)

 

(2) 최대공약수

- A와 B의 약수 중 가장 큰 공통된 수

 

(3) 최소공배수 

- A와 B의 배수 중 가장 작은 공통된 수

- 최소공배수 = A x B / A와 B의 최대공약수 

 

 

💻 구현하기 

[ 경우의 수 - 합의 법칙과 곱의 법칙 ]

 

 

[ 약수, 최대공약수, 최소공배수 구하기 ]