문제 풀이/Java
[Java] 배열을 통해 값을 무작위로 입력받고, 내림차순으로 재정렬하기
찐코딩
2021. 8. 20. 17:27
import java.util.Scanner;
public class Exam03_02 {
public static void main(String[] args) {
//배열 크기 지정
Scanner sc=new Scanner(System.in);
System.out.print("배열의 크기를 입력하세요");
int[] arr=new int[sc.nextInt()];
//숫자 입력
System.out.printf("%d개의 숫자를 입력하세요\n", arr.length);
for(int i=1; i<=arr.length; i++) {
arr[(i-1)]=sc.nextInt();
}
//내림차순으로 정렬
for(int i=0; i<arr.length; i++) {
for(int j=i+1; j<arr.length; j++) {
if(arr[j]>arr[i]) { //내림차순
int temp=arr[i]; //값 변경해야 하기에 임시저장
arr[i]=arr[j];
arr[j]=temp;
}
}
}
// 내림차순으로 정렬된 배열을 화면에 출력해보자
System.out.println("===내림차순으로 정렬===");
// 단축 for문을 응용
for(int k : arr) {
System.out.printf("%d\t", k);
}
sc.close();
}
}
결과
배열의 크기를 입력하세요3
3개의 숫자를 입력하세요
10
2
28
===내림차순으로 정렬===
28 10 2
번외) 오름차순 정렬
//오름차순으로 정렬
for(int i=0; i<arr.length; i++) {
for(int j=i+1; j<arr.length; j++) {
if(arr[i]>arr[j]) { // 오름차순
int temp=arr[i]; //값 변경해야 하기에 임시저장
arr[i]=arr[j];
arr[j]=temp;
}
}
}