-
[TEST] Rand5() Using Rand7()DEV/🤦 ALGORITHM 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
'코딩 > 🤦 ALGORITHM' 카테고리의 다른 글
그리디 알고리즘 #1 (0) 2022.02.19 [TEST] Frog Possible Distance (0) 2022.02.16 [BFS] 너비우선탐색 (Breath-First Search) (0) 2022.02.10 [DFS] 깊이탐색알고리즘(Depth-First Search) (0) 2022.02.10 [DFS / BFS] 스택자료구조, 큐자료구조, 재귀함수 (0) 2022.02.08