반응형
이 문제는 주어진 값들을 오름차순으로 정렬할 때 각각의 수가 몇 번째에 위치할지 찾는 알고리즘입니다.
간단한 문제이니 코드만 보고도 이해하실 수 있으실 겁니다.
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();
}
}
반응형
'알고리즘 > 정렬' 카테고리의 다른 글
백준 2056번 : 작업 java (0) | 2022.07.14 |
---|---|
백준 1516번 : 게임 개발 java (1) | 2022.07.13 |
백준 2252번 : 음악프로그램 java (0) | 2022.07.11 |
백준 2252번 : 줄 세우기 java (0) | 2022.06.21 |
백준 2217번 : 로프 java (0) | 2022.06.20 |
댓글