[13251] 조약돌 꺼내기

2023. 5. 9. 14:10·Coding Test/Combination
728x90
 

13251번: 조약돌 꺼내기

첫째 줄에 뽑은 조약돌이 모두 같은 색일 확률을 출력한다. 정답과의 절대/상대 오차는 10-9까지 허용한다.

www.acmicpc.net

 

풀이

1. 색깔별 조약돌의 개수에서 k를 뽑을 수 잇는 경우의수 / 전체 돌에 관해 k개를 뽑는 경우의 수

import sys
input=sys.stdin.readline
import math

m = int(input()) # 색 종류개수
arr = list(map(int,input().split())) # 색깔별 조약돌 개수
k = int(sys.stdin.readline()) # 뽑을 개수

t = sum(arr) # 전체 조약돌 개수
total = math.comb(t, k) # 전체 돌에 관해 k개를 뽑는 경우의 수

same_color = 0 # 색깔별 조약돌의 개수에서 k를 뽑을 수 잇는 경우의 수
for s in arr:
    same_color += math.comb(s, k)

print(same_color/total)

 

2. 한 색깔의 조약돌만 뽑을 확률을 색깔별로 모두 구하고 각각의 확률을 더함

import sys
input=sys.stdin.readline

m = int(input()) # 색 종류개수
arr = list(map(int,input().split())) # 색깔별 조약돌 개수
t = sum(arr) # 전체 조약돌 개수
p= [0]*51 # 색깔별 확률 저장 리스트

k = int(sys.stdin.readline()) # 뽑을 개수
ans=0

for i in range(0,m): # 조약돌 색깔별로
    # 뽑을 개수보다 같은색 조약돌의 개수가 적은 경우 : 모두 같은 색으로 뽑을 확률 0
    if k <= arr[i] :
        # k번 뽑을 동안 같은 색이 나올 확률 : 5/18 * 4/17
        p[i]=1 # 확률 초기값
        for j in range(0,k):
            # i색깔을 모두 뽑을 확률 * 현재 색깔 개수-k / 전체 조약돌 개수-k
            p[i]=p[i]*(arr[i]-j)/(t-j)
        ans+=p[i]

print(ans)

 

 

 

 

728x90
저작자표시 (새창열림)
'Coding Test/Combination' 카테고리의 다른 글
  • [1947] 선물 전달하기 (완전 순열, 교란 순열)
  • [1010] 다리 놓기
  • [11051] 이항계수
  • 피자 배달 거리 (삼성 SW역량평가 기출문제 : DFS, 조합)
Karla Ko
Karla Ko
𝘾𝙤𝙣𝙩𝙞𝙣𝙪𝙤𝙪𝙨𝙡𝙮 𝙄𝙢𝙥𝙧𝙤𝙫𝙞𝙣𝙜, 𝘾𝙤𝙣𝙨𝙩𝙖𝙣𝙩𝙡𝙮 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙞𝙣𝙜 𝙔𝙚𝙨!
    250x250
  • Karla Ko
    karlaLog
    Karla Ko
  • 전체
    오늘
    어제
    • Total (467)
      • Spring (19)
      • JPA (4)
      • Cloud & Architecture (15)
        • Kubernetes (5)
        • Docker (3)
        • MSA (2)
        • GCP (1)
        • AWS (4)
      • Devops (1)
      • Message Queue (4)
        • Kafka (2)
        • RabbitMQ (2)
      • Git (4)
      • DB (4)
      • Java (9)
      • Python (4)
      • CS (11)
        • OS (8)
        • Network (2)
        • Algorithm (1)
      • Coding Test (392)
        • programmers (156)
        • Graph (43)
        • DP (37)
        • Search (31)
        • Tree (13)
        • Data Structure (26)
        • Combination (12)
        • Implement (18)
        • Geedy (23)
        • Sort (7)
        • Math (21)
        • geometry (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    BFS
    그래프
    구현
    그리디
    최소신장트리
    스택
    최단거리
    동적계획법
    이분탐색
    알고리즘
    백준
    큐
    플로이드워셜
    Algorithm
    트리
    구간합
    힙
    덱
    최대공약수
    파이썬
    정렬
    조합
    DFS
    DP
    자료구조
    다익스트라
    재귀
    월간코드챌린지
    LIS
    프로그래머스
  • hELLO· Designed By정상우.v4.10.3
Karla Ko
[13251] 조약돌 꺼내기
상단으로

티스토리툴바