์ด-์ง ํ๋๊น ํ ๋ฒ์ฉ๋ง ๋ด ์ฃผ์ธ์
0 1 2 3 4 ์์๋ฅผ ๋๋คํ๊ฒ ํด์ ๋ฐฐ์ด์ ์ง์ด๋ฃ๋๋ฐ ๋ฐฐ์ด a๋ b๋ ๊ฐ์ผ๋ฉด ์๋จ
private int[] a = { 0, 1, 2, 3, 4 };
private int[] b = { 4, 3, 2, 1, 0 };
public int[] getRandomInt()
{
int[] randArray = new int[5];
bool isSame;
for( int i = 0; i < 5; i++)
{
while( true)
{
randArray[i] = Random.Range(0, 5);
isSame = false;
for( int j = 0; j < i; j++)
{
if(randArray[j] == randArray[i])
{
isSame = true;
break;
}
}
if (!isSame && !randArray.SequenceEqual(a) && !randArray.SequenceEqual(b) ) break;
}
}
return randArray;
}
๋ฑํ ๋ฌธ์ ์์ด๋ณด๋๋
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
๋ง์ง๋ง if๋ฌธ์์์ ์ ๊ฑธ๋ก๋ ๋ชป ๋์์?
๋ฐ์ break ํ๋ ๋ ์๋๋ฐ์? while ๋์ค๋ ๊ฑฐ
if (randArray[j] == randArray[i]) ์ด ๋ถ๋ถ์์ i๋ j๋ ๋ ๋ค 0์ด๋ฉด ๋ฌดํ๋ฃจํ ๋น ์ง๋๊ฒ ๊ฐ์๋ฐ
๋ฐ๋ณตํ ๋๋ง๋ค ํ์์ฌ๋ ค์ ๋ฐ๋ณตํ์๊ฐ ๋น์ ์์ ์ด๋ฉด ํ์ถํ๊ณ i๋ j๊ฐ ๋ก๊ทธ์ฐ๋๋ก ์ง๋ด
์ฒซ์ค๋ถํฐ ์ฒ์ฒํ ๊ฐ ์๊ฐํ๋ฉด์ ๋ฐ๋ผ๊ฐ๋ณด๋ฉด ์ ์ผ ์ฒซ ๋ฃจํ์ i๋ j๊ฐ ๋ ๋ค 0์ด๋ผ์ randArray[0] == randArray[0] ๊ฐ ๋์ด๋ฒ๋ ค์ ๋ฌด์กฐ๊ฑด isSame์ด true๋๊ณ ๋ฌดํ๋ฃจํ ๊ฐ๋๋ฏ