๐Ÿ Programming/Java

[Java] ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•œ ์ค‘๋ณต ์—†์ด ๋žœ๋ค ๊ฐ’ ์ถœ๋ ฅ

Dhey 2020. 12. 7. 01:15
๋ฐ˜์‘ํ˜•

์ค‘๋ณต๊ฐ’์ด ์—†๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š”๋ฐ๋Š” 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] + " ");
		}
	}	
}

 

 

๊ฐ„๋‹จํ•œ ํ’€์ด

 

๋จผ์ € Random๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•œ๋‹ค.

 

๋‹ค์Œ ์ €์žฅ ๊ฐ’์ด ์ด์ „์— ์ €์žฅ๋œ ๊ฐ’๊ณผ ๊ฐ™์€์ง€ ๋น„๊ต๋ฅผ ํ•˜๊ณ  ๋งŒ์•ฝ ๊ฐ™๋‹ค๋ฉด check๋ฅผ -1๋กœ ์„ค์ •, ๊ทธ๋ฆฌ๊ณ  ๋งŒ์•ฝ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๊ทธ๋Œ€๋กœ ์ €์žฅ / ์ค‘๋ณต ๋œ๋‹ค๋ฉด i--๋ฅผ ํ•˜์—ฌ ๋‹ค์‹œ for๋ฌธ ์‹คํ–‰

 

์›๋ฆฌ

๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ค ์›๋ฆฌ๋กœ ์ค‘์ฒฉ๋œ 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)์— ์ €์žฅ๋œ๋‹ค.

 

 

์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๋‹ค์Œ ์ˆซ์ž๋“ค๋„ ์ €์žฅ๋˜๋Š” ์›๋ฆฌ์ด๋‹ค.

 

์ค‘๋ณต ์—†์ด ๋žœ๋ค๊ฐ’ ์ถœ๋ ฅ์€ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋“ค์„ ํ’€๋•Œ๋„ ์ž์ฃผ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์žŠ์ง€์•Š๊ธฐ์œ„ํ•ด ์ž‘์„ฑํ•˜์˜€๋‹ค.

 

๋ฐ˜์‘ํ˜•