기타등등/알고리즘 기록

[Unity C#] 랜덤퀴즈

CodeJB 2021. 3. 30. 06:10

문제

10번 동안 1~10까지 랜덤한 숫자를 출력하여 중복된 숫자가 있을 경우 true, false를 리턴하라

랜덤함수 범위만 지정해주면 되는 간단한 문제

소스코드

public class RandomQuiz_Source : MonoBehaviour
{
    const int MAX = 10;
    
    void Start()
    { 
        int[] data = new int[MAX];
        int n = MAX;

        while (0 < n) {
            Debug.Log(RandomQuiz(data));
            n--;
        }
    }

    bool RandomQuiz(int[] data)
    {
        RandomData_Init(data);

        for (int i = 0; i < data.Length; i++)
        {
            for(int j = 0; j < data.Length; j++)
            {
                if(data[i] == data[j] && i != j)
                {
                    return true;
                }
            }
        }

        return false;
    }

    void RandomData_Init(int[] data)
    {
        for (int i = 0; i < data.Length; i++)
        {
            data[i] = Random.Range(1, 10);
        }
    }
}