본문 바로가기
알고리즘/정렬

백준 1015번 : 수열 정렬 java

by LDY3838 2022. 6. 5.
반응형

이 문제는 주어진 값들을 오름차순으로 정렬할 때 각각의 수가 몇 번째에 위치할지 찾는 알고리즘입니다.

간단한 문제이니 코드만 보고도 이해하실 수 있으실 겁니다.


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

댓글