자바 공부하기 위해 한번 작성하면서 공부를 해보겠다.

 

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

 

2750번: 수 정렬하기

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

www.acmicpc.net

 

정렬부터 시작했는데, 

먼저 첫 번째는 

Arrays함수를 사용해서 sort함수 이용해서 했다. ㅎㅎㅎㅋㅋㅋㅋ

import java.util.*;

public class Main{
	public static void main(String args[]){
		Scanner scanner = new Scanner(System.in);
		int N= scanner.nextInt();
		int array[] = new int[N];
		for(int i = 0; i<N; i++) {
			array[i]= scanner.nextInt();
		}
		Arrays.sort(array);
		for(int i = 0; i<N; i++)
			System.out.println(array[i]);
	}
}

뭐 함수를 써보긴 해야 하니깐,, 

 

 

두 번째는 

버블 정렬을 사용했다. 

import java.util.*;
//버블 정렬
public class Main{
	public static void main(String args[]){
		Scanner scanner = new Scanner(System.in);
		int N= scanner.nextInt();
		int array[] = new int[N];
		for(int i = 0; i<N; i++)
			array[i]= scanner.nextInt();
		
		for(int i = 0; i<N-1; i++) {
			for(int row = 0, tem = 0; row <N-1-i; row++) {
				if(array[row] > array[row+1]) {
					tem = array[row];
					array[row] = array[row+1];
					array[row+1] = tem;
				}
			}
		}
		for(int i = 0; i<N; i++)
			System.out.println(array[i]);
	}
}

 

선택정렬

package backjoon;

import java.util.*;
//버블 정렬
public class Main{
	public static void main(String args[]){
		Scanner scanner = new Scanner(System.in);
		int N= scanner.nextInt();
		int array[] = new int[N];
		for(int i = 0; i<N; i++)
			array[i]= scanner.nextInt();
		
		for(int i = 1,j; i<N;i++) {
			int compare_num = array[i];
			for(j = i-1; j>=0 && array[j]>compare_num; j--)
				array[j+1] = array[j];
			array[j+1] = compare_num;
			}
		for(int i = 0; i<N; i++)
			System.out.println(array[i]);
	}
}

 

확실히 정렬을 오랜만에 만들어보는데

저학년일 때보다는 낫다,,

 

더 해보자,, 

'study > java' 카테고리의 다른 글

[Tomcat] 설치 및 eclipse 설정  (0) 2022.01.01
JAVA 상속(2)  (0) 2021.12.04
JAVA 상속  (0) 2021.12.04
java Ajax 연습하기  (0) 2020.07.25
jfreechart bar그래프 두 개 그리기  (0) 2020.07.23

+ Recent posts