마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

랜덤 확률 질문드립니다

0 추천
char ch = (char) ((Math.random() * 26) + 65);

위 코드로 A-Z 까지 랜덤으로 뽑아오는데 L이 나올 확률을 높이는건 어찌해야하는지 아시는분 도움좀 부탁드려요 ..

보꼬 (1,630 포인트) 님이 2016년 1월 20일 질문

2개의 답변

0 추천
 
채택된 답변
뭐 대충 아래의 코드를 위의 코드 밑에 붙이면 L의 확률은 높아지겠죠.

if (ch != 'L') {

    if (Math.random() < 0.1) {

        ch = 'L';

    }

}

L이 아닌 값이 나오면 10%의 확률로 L로 바꿔주는 내용이니까요.
cc1232 (35,280 포인트) 님이 2016년 1월 20일 답변
보꼬님이 2016년 1월 20일 채택됨
아하 해결되었네요 감사합니다 !!
0 추천
으음...

좀 복잡한 방법일꺼 같은데...

Math 에 있는 랜덤 말구 java.util 에 보시면 Random 이라는 클래스가 있습니다.

그 클래스에 보시면 가우시안 랜덤값 함수가 있습니다.(넥스트가우시안 이던가?;;;)

이 함수를 이용하시면 어떨까싶네요...

가우시안랜덤은 평균 0.0d 표준편차 1.0을 가집니다...

(평균과 표준편차에 대한 설명은 따로하지 않겠습니다... 제가 수학은 잼병이라...)

대충 0.0d +- x 해서 랜덤값이 여기에 속하면 알파벳L 그 다음범위에 속하면 A, 또 그다음 범위에 속하면 B...

이런식으루 하시면 되겠네요...
비애천사 (12,080 포인트) 님이 2016년 1월 20일 답변
답변 감사합니다.
근데 좀 복잡하네요ㅜ ㅜ 좀더 공부하고 해봐야겟어요
...