안드로이드 개발 질문/답변
(글 수 45,052)
16개의 버튼이 있어요
거기다가 1부터 8까지의 숫자를 각각 2개씩 랜덤하게 집어 넣으려고 하는데
도무지 감이 잡히지 않아서요!!
고수님들 +_+
2010.07.19 07:29:18
이건 안드로이드 질문은 아니지만..
랜덤이 중복되지 않게 하시려면
미리 필요한 수 만큼의 배열을 만드시고
배열에다가 랜덤 수를 넣습니다.
만약 중복되는 수가 있다면 다시 랜덤 수를 넣습니다.
리스트에 중복되는 수가 없는 배열이 만들어집니다.
사용합니다.
2010.07.19 10:29:03
음...셔플 알고리즘을 말씀하시는거 같네요.
in-place shuffle 에 관한 내용을 찾아보시면 도움이 될 듯 합니다.
간단하게 설명해보자면,
Darklake 님이 이야기하신대로, 미리 필요한 수 만큼의 배열을 만드시고,
각 배열에 원하는 숫자를 넣으신 후에 (1~8 까지 각 2개씩)
배열 크기 이내의 랜덤 수를 하나 뽑습니다. (Rand 0~15)
그리고 해당 숫자를 배열의 마지막 숫자와 교체한 후,
다음에는 배열 크기 보다 하나 적은 숫자의 랜덤 수를 뽑습니다. (Rand 0~14)
이런식으로 반복하시면, 1~8까지 각2개의 숫자가 랜덤으로 위치한 배열을 얻으실 수 있습니다.