C# 원하는 비율대로 특정 문자를 배치하기

2021. 10. 21. 19:05QA

728x90
반응형



OX퀴즈

OX 값을 원하는 비율로 생성하여 배열에 넣는다.

목표

1. O or X 값만 넣는다.

2. 비율은 사용자가 입력한 비율로 생성된다.

3. or X 값은 랜덤 순서로 배열에 존재 한다.

원하는 비율만큼 O X 값을 배열에 넣는다.

private void CreateLists(int cnt, float rate)
{
    _lists = new List<char>();
    List<char> _list = new List<char>();
    int _count = cnt;
    float _rate = rate;
    char o = 'O';
    char x = 'X';

    for (int i = 0; i <= _count; i++)
    {
        if (i <= _rate * _count)
        {
            _list.Add(o);
        }
        else
        {
            _list.Add(x);
        }
    }
    // shuffle
    _lists = _list.OrderBy(a => Guid.NewGuid()).ToList();
}


실행결과

 

Full Source Code
https://github.com/SsunLee/OXQuiz/blob/main/README.md


 

728x90
반응형