jmpark0118 / CODING_TEST_PRACTICE

0 stars 0 forks source link

Practice>Python>Itertools>Iterables and Iterators #54

Open jmpark0118 opened 4 years ago

jmpark0118 commented 4 years ago

image

image

출처 : https://www.hackerrank.com/challenges/iterables-and-iterators/problem

jmpark0118 commented 4 years ago

import math

if __name__ == '__main__':
    n = int(input())
    letters = [ord(a) for a in input().split()]
    count = int(input())

    def comb(num):
        return math.factorial(num)/(math.factorial(count)*math.factorial(num-count))

    c = 0
    for letter in letters:
        if letter != 97:
            c += 1

    if n==1 and c==1:
        answer = 0
    elif n==1 and c==0:
        answer = 1
    elif count==n and c!=count:
        answer = 1
    elif count==n and c==count:
        answer = 0
    else:
        total_cases = comb(n)
        missing_cases = comb(c)
        answer = round((total_cases-missing_cases)/total_cases, 4)

    print(answer)