static void Main(string[] args)
{
int[] temp = new int[7];
Random rnd = new Random();
int index0 = rnd.Next(0, 53); // 0~52 까지의 랜덤한 수(min <= random_number < max)
temp[0] = index0;
int index1 = rnd.Next(0, 53);
while (index0 == index1)
{
index1 = rnd.Next(0, 53);
}
temp[1] = index1;
//
int index2 = rnd.Next(0, 53);
while ((index0 == index2) || (index1 == index2))
{
index2 = rnd.Next(0, 53);
}
temp[2] = index2;
//
int index3 = rnd.Next(0, 53);
while ((index0 == index3) || (index1 == index3) || (index2 == index3))
{
index3 = rnd.Next(0, 53);
}
temp[3] = index3;
//
int index4 = rnd.Next(0, 53);
while ((index0 == index4) || (index1 == index4) || (index2 == index4) || (index3 == index4))
{
index4 = rnd.Next(0, 53);
}
temp[4] = index4;
//
int index5 = rnd.Next(0, 53);
while ((index0 == index5) || (index1 == index5) || (index2 == index5) || (index3 == index5) || (index4 == index5))
{
index5 = rnd.Next(0, 53);
}
temp[5] = index5;
//
int index6 = rnd.Next(0, 53);
while ((index0 == index6) || (index1 == index6) || (index2 == index6) || (index3 == index6) || (index4 == index6) || (index5 == index6))
{
index6 = rnd.Next(0, 53);
}
temp[6] = index6;
Console.WriteLine($"{temp[0]}, {temp[1]}, {temp[2]}, {temp[3]}, {temp[4]}, {temp[5]}, {temp[6]}");
Array.Sort(temp);
Console.WriteLine($"{temp[0]}, {temp[1]}, {temp[2]}, {temp[3]}, {temp[4]}, {temp[5]}, {temp[6]}");
답변해주신 글 열심히 읽어보았어요. 감사드려요.
위에 코드는 제가 나름 열심히 써서 맨 마지막에 Console.Writing 으로 테스트 문구를 출력했는데, 중복되는 원소가 나오지 않고 오름차순으로 도열까지 되어서 완벽해요.
도움을 주셔서 감사합니다.
근데 위에 제가 쓴 코드가 조금... 그 무식하다고해야할까요. 좀 노가다 식으로 쓴게 느껴지시죠?
이걸 진짜 프로그래머 처럼 세련되게 다시 쓸 수 있는 법이 있을까요?
함수를 써야하는것은 알겠는데, 클래스를 써야할지 함수를 쓰는게 나을지. 그 둘의 차이점이 뭔지도 모르겠어요..
물어보는게 많아서 죄송합니다...
[최초 등록일: ]
[최종 수정일: 12/6/2020]