본문 바로가기
자료구조 | 알고리즘/문제

[JAVA]백준 2750 번 : 수 정렬하기

by 동기 2020. 7. 8.
반응형

https://www.acmicpc.net/problem/2750

 

2750번: 수 정렬하기

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

 

 

package baekjoon;

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {


		int i,j,min,index=0,temp;
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int []arr = new int[1001];
		
		for(i =0; i<n; i++) {
			arr[i]=scan.nextInt();
		}
		
		for(i=0;i<n;i++) {
			min=1001;
			for(j=i;j<n;j++) {
				if(min>arr[j]) {
					min=arr[j];
					index=j;
				}
			}
			temp=arr[i];
			arr[i]=arr[index];
			arr[index]=temp;
		}
		
		for(i=0;i<n;i++) {
			System.out.println(arr[i]);
		}
	}
	

}


[버블 정렬 사용 ]

절댓값이 1000보다 작거나 같아야 하므로, min의 크기는 1001. 

arr배열 인덱스에 사용자가 입력한 수 차례로 저장 
이중 for문을 사용/ 내부for문은 min과 arr[j]값 비교, min보다 작을 경우 값을 min에 저장.


 

반응형

댓글