DEV/🤦 ALGORITHM
[TEST] Rand5() Using Rand7()
개발을 하게 되.
2022. 2. 18. 21:43

문제
Rand5 란
1~5의 숫자를 랜덤으로 1개의 숫자를 뽑아주는 함수이고
Rand7란
1~7의 숫자를 랜덤으로 1개의 숫자를 뽑아주는 함수일때,
Rand7함수를 Rand5함수를 이용해서 구현해라.
아이디어
Rand7 이니깐 범위를 줄여서 만약에 5이하가 나오면 반환하고, 아니면 하지말라고 하면 된다.
나의 답안
def Rand5():
while(True):
n = Rand7()
if n <= 5:
return n
그렇다면 반대라면 어떻게 구현할까?
즉, Rand 5를 이용해서 Rand7 을 구할 수 있을까?
대신, 확률이 같을 필요는 없다.
아이디어
Rand5 () : 1 ~ 5 에서 나오는 숫자를 가공해서 만들어야한다.
Rand5() + Rand5() 의 최댓값은 10
7을 초과할 경우에는 7로 나눈 나머지로 반환하도록하자.
def Rand7():
while(True):
n = Rand5() + Rand5()
if n > 7 :
return n%7
return n