알고리즘/정렬
백준 1015번 : 수열 정렬 java
LDY3838
2022. 6. 5. 20:02
반응형
이 문제는 주어진 값들을 오름차순으로 정렬할 때 각각의 수가 몇 번째에 위치할지 찾는 알고리즘입니다.
간단한 문제이니 코드만 보고도 이해하실 수 있으실 겁니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] arr = new int[N];
int[] order = new int[N];
boolean[] visited = new boolean[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i = 0; i<N; i++)
arr[i] = Integer.parseInt(st.nextToken());
for(int i = 0; i<N; i++){
int min = Integer.MAX_VALUE;
int minIdx = -1;
for(int j = 0; j<N; j++){
if(visited[j])
continue;
if(min>arr[j]){
min = arr[j];
minIdx = j;
}
}
order[minIdx] = i;
visited[minIdx] = true;
}
for(int i = 0; i<N; i++)
System.out.print(order[i] +" ");
System.out.println();
}
}
반응형