์ค๋ณต๊ฐ์ด ์๋ ๋ฐฐ์ด์ ๋ง๋๋๋ฐ๋ Set๊ณผ for๋ฌธ์ ์ฌ์ฉํ๋ ๋ฑ์ ๋ฐฉ๋ฒ์ด ์๋ค. ์ฒ์๋ถํฐ ์ค๋ณต๊ฐ์ด ์๋ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ํ์ ๋์ค๋ Set์ ์ด์ฉํ๋ฉด ์ค๋ณต๊ฐ์ด ์ ๊ฑฐ๋ ๋ฐฐ์ด์ด ๋ง๋ค์ด์ง๋ค. ํ์ง๋ง ๋จผ์ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ฌ ์ค๋ณต๊ฐ ๊ฒ์ฌ๋ฅผ ํด๋ณด๋ ค ํ๋ค.
arr๋ฐฐ์ด์ 1~10 ์ฌ์ด์ ๋๋ค ์ซ์ 5๊ฐ๋ฅผ ์ ์ฅํ์ฌ ์ค๋ณต๋๋ ๊ฐ์ด ์๋๋ก ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ๋ณด์๋ค.
public class prac {
public static void main(String[] args) {
Random ran = new Random();
int[] arr = new int[5];
for(int i=0; i<arr.length; i++) {
int r = ran.nextInt(10) + 1; //1~10
int check = 1;
for(int j=0; j<i; j++) {
if(arr[j] == r) {
check = -1;
}
}
if(check == 1) {
arr[i] = r;
}else {
i -= 1;
}
}
for(int i=0; i<arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
๊ฐ๋จํ ํ์ด
์๋ฆฌ
๊ทธ๋ ๋ค๋ฉด ์ด๋ค ์๋ฆฌ๋ก ์ค์ฒฉ๋ for๋ฌธ์ผ๋ก ๊ฒ์ฌ๊ฐ ๊ฐ๋ฅํ์ง ๊ทธ ์๋ฆฌ๋ฅผ ์ค๋ช ํ๊ฒ ๋ค.
์ฒ์ Random๊ฐ์ arr[0](i=0)์ ๋ฃ์ด์ค๋ค.
์ฒ์์ null ์ํ์ด๊ธฐ ๋๋ฌธ์ check๊ฐ 1์ด๋ฏ๋ก arr[j]์๋ฆฌ์ ๊ทธ๋๋ก ๋ฃ์ด์ค๋ค.
๋ค์ Random๊ฐ์ arr[i](i=1)์ ๋ฃ์ด์ฃผ๋๋ฐ ๋ง์ฝ ๊ฐ์ ๊ฐ 5๊ฐ ๋ค์ด๊ฐ๋ค๋ฉด
check = -1์ด ๋์ด arr[j]๊ฐ ์ ์ฅ๋์ง ์๊ณ ๋ค์ i=1์ด ๋์ด ๋ค์ ๋ค๋ฅธ Random๊ฐ์ ๋ฃ์ ์ ์๊ฒ ๋์๊ฐ๋ค.
๋ค์ i=1์ผ๋ r=9๋ผ๋ฉด arr[j](j=0)์ ๋น๊ตํ ํ ์ค๋ณต๋์ง ์์ผ๋ฏ๋ก arr[j](j=1)์ ์ ์ฅ๋๋ค.
์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๋ค์ ์ซ์๋ค๋ ์ ์ฅ๋๋ ์๋ฆฌ์ด๋ค.
์ค๋ณต ์์ด ๋๋ค๊ฐ ์ถ๋ ฅ์ ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ค์ ํ๋๋ ์์ฃผ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์์ง์๊ธฐ์ํด ์์ฑํ์๋ค.
'๐ Programming > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ๋ฐฐ์ด ๋ณต์ฌ copyOf , copyOfRange (0) | 2023.03.31 |
---|---|
[Java] 2์ฐจ์ ๋ฐฐ์ด (1 to 25) (0) | 2023.02.27 |
[Java] ๋์(๋๋ค ์ซ์) ์์ฑํ๋ ๋ฐฉ๋ฒ (0) | 2023.02.27 |
[Java] ๋ฌธ์๊ฐ ๋๋ฌธ์์ธ์ง ์๋ฌธ์์ธ์ง ํ์ธํ๋ ๋ฐฉ๋ฒ (0) | 2023.02.22 |
[Java] ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (3) | 2020.12.05 |