알고리즘
백준 #2750 java 2023.01.26
chaewonni
2023. 1. 26. 03:40
수 정렬하기 문제! 학교 프로그래밍 수업에서 기말고사로 오름차순 정렬을 이용하는 문제가 나왔었는데, 그 때는 긴장하고 당황해서 그랬는지 정렬을 구현하지 못하고 제출했던 기억이 있다... 지금 생각해도 너무 아쉽다.
package boj_basic.step10;
import java.util.Scanner;
public class Q2750 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] arr = new int[N+1];
for(int i = 0; i<N; i++) {
int num = sc.nextInt();
arr[i]=num;
}
int tmp = 0;
for(int i = 1; i<N; i++) {
for(int j = 0; j<i; j++) {
if(arr[i-j]<arr[i-j-1]) {
tmp=arr[i-j-1];
arr[i-j-1]=arr[i-j];
arr[i-j]=tmp;
}
}
}
for(int i = 0; i<N; i++) {
System.out.println(arr[i]);
}
}
}
가장 단순한 삽입정렬을 이용하여 구현해주었다. tmp를 이용하여 앞 뒤 값을 바꿔주는 식으로 코드를 작성해보았다!
예를 들어 5 2 3 4 1 -> 2 5 3 4 1 -> 2 3 5 4 1 -> 2 3 4 5 1 -> 1 2 3 4 5 이런식으로 진행된다.
코딩은 많이 풀수록 실력도 느는 것 같다.