조합 예제 - 5
문제 분석
손으로 풀어보기
슈도코드
stone(색깔별 조약돌 개수 저장 리스트)
probability(색깔별 확률 저장 리스트)
m(색의 종류)
sum(전체 조약돌 개수)
for m 반복:
sum에 조약돌 개수 더하기
k(선택한 조약돌 개수)
for m 반복:
if 현재 색깔의 조약돌의 개수가 선택해야 할 개수보다 크면: # 선택한 조약돌 개수(k)보다 현재 색 조약돌 개수가 적으면 모두 같은 색으로 뽑힐 확률은 0
probability[i]를 1로 저장 # 확률 초기 값
for j k만큼:
i 색깔을 모두 뽑을 확률 = i 색깔을 모두 뽑을 확률 * (현재 색깔 개수 - j) / (전체 색깔 개수 - j)
정답에 현재 색깔을 모두 뽑을 확률(probability[i])을 더하기
정답 출력코드 구현 - 파이썬
코드 구현 - 자바
Last updated