- 6가지 숫자를 랜덤하게 생성
- 오름차순으로 정리 (3번 과정)
- 중복 값 제거 (for문의 i++ 증감연산자를 따로 빼서 선언하여 중복 여부 확인(1번, 2번과정))
- Random 함수 이용
--- 출력문 ---
7 9 21 23 26 36
int []data = new int[6];
Random r = new Random();
for(int i=0; i<data.length;) {
int n = r.nextInt(45)+1;
// 1번) 발생한 난수 n이 존재하는지 확인
int j;
for (j=0; j<i; j++) {
if(n==data[j]) {
break; // 이럴경우 i++가 되지 않고 다시 난수를 만드는것
}
} //end for j
//2번) 1번 반복문 끝까지 실행했는지 여부 = 중복된 값이 없었다.
if(j==i) {
data[i] =n;
i++;
}
}//end for i
//3번) 정렬하기
for(int i=0; i<data.length;i++) {
for(int j=i+1; j<data.length; j++) {
if(data[j] < data[i]) {
int temp = data[i];
data[i] = data[j];
data[j]= temp;
}
}
}
//4번) 출력하기
for(int i=0; i<data.length; i++) {
System.out.print(data[i]+" ");
}
반응형
'알고리즘 문제 풀이 > 기타' 카테고리의 다른 글
(Java) 2차원 배열 합 구하기 (0) | 2022.04.01 |
---|---|
Java) 최고 점수 구하기( 중복 최대 값 포함 ) (0) | 2022.04.01 |
(Java) 약수 및 소수 구하기 (0) | 2022.03.30 |
재귀함수 (0) | 2022.01.20 |
댓글