Skip to content

๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป 6์›” 28์ผ ๊ธฐ๋ณธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜

chaeun lee edited this page Jul 5, 2024 · 4 revisions

Java๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฒ„๋ธ”, ์‚ฝ์ž…, ์„ ํƒ ์ •๋ ฌ์„ ๊ณต๋ถ€ํ–ˆ๋‹ค.

1. ๋ฒ„๋ธ” ์ •๋ ฌ

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.IOException;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));

        writer.write("์ •๋ ฌํ•  ์ˆ˜๋“ค์„ ์ž…๋ ฅํ•˜์„ธ์š”. >>> ");
        writer.flush();
        //input ๋ฐฐ์—ด์— readline()ํ•ด์„œ " "๋กœ ์ž˜๋ผ์„œ ์ €์žฅ
        String[] input = reader.readLine().split(" ");

        //intํ˜•์ธ arr ๋ฐฐ์—ด์— input ๊ฐœ์ˆ˜๋งŒํผ int ์ดˆ๊ธฐํ™” ์ƒ์„ฑ
        int[] arr = new int[input.length];
        for (int i = 0; i<input.length; i++)
            //Integer.parseInt: ๋ฌธ์ž์—ด์„ ํŒŒ์‹ฑํ•˜์—ฌ ์ •์ˆ˜๋กœ ๋ฐ”๊พธ๋Š” ๋ฉ”์„œ๋“œ
            arr[i] = Integer.parseInt(input[i]);

        writer.write("์›๋ž˜ ๋ฐฐ์—ด: ");
        printfunc(writer, arr);

        bubbleSort(arr);

        writer.write("๋ฒ„๋ธ” ์†ŒํŒ… ํ›„ ๋ฐฐ์—ด: ");
        printfunc(writer, arr);
    }

    public static void bubbleSort(int[] arr){
        int n = arr.length;
        boolean swap;
        for(int i=0;i<n-1;i++){
            swap =false;
            for(int j=0;j<n-1-i;j++){
                if(arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1]=temp;
                    swap = true;
                }
            }
            if(!swap) break;
        }
    }

    public static void printfunc(BufferedWriter writer, int[] arr) throws IOException{
        for (int j : arr) writer.write(j + " ");
        writer.write("\n\n");
        writer.flush();
    }
}

2. ์‚ฝ์ž… ์ •๋ ฌ

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.IOException;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));

        writer.write("์ •๋ ฌํ•  ์ˆ˜๋“ค์„ ์ž…๋ ฅํ•˜์„ธ์š”. >>> ");
        writer.flush();
        //input ๋ฐฐ์—ด์— readline()ํ•ด์„œ " "๋กœ ์ž˜๋ผ์„œ ์ €์žฅ
        String[] input = reader.readLine().split(" ");

        //intํ˜•์ธ arr ๋ฐฐ์—ด์— input ๊ฐœ์ˆ˜๋งŒํผ int ์ดˆ๊ธฐํ™” ์ƒ์„ฑ
        int[] arr = new int[input.length];
        for (int i = 0; i<input.length; i++)
            //Integer.parseInt: ๋ฌธ์ž์—ด์„ ํŒŒ์‹ฑํ•˜์—ฌ ์ •์ˆ˜๋กœ ๋ฐ”๊พธ๋Š” ๋ฉ”์„œ๋“œ
            arr[i] = Integer.parseInt(input[i]);

        writer.write("์›๋ž˜ ๋ฐฐ์—ด: ");
        printfunc(writer, arr);

        insertionSort(arr);

        writer.write("์‚ฝ์ž… ์ •๋ ฌ ํ›„ ๋ฐฐ์—ด: ");
        printfunc(writer, arr);
    }

    public static void insertionSort(int[] arr){
        int n = arr.length;
        int key, j;
        for(int i=1; i<n; i++){
            key = arr[i];
            for(j=i-1; j>=0 && arr[j]>key; j--) arr[j+1] = arr[j];
            arr[j+1] = key;
        }
    }

    public static void printfunc(BufferedWriter writer, int[] arr) throws IOException{
        for (int j : arr) writer.write(j + " ");
        writer.write("\n\n");
        writer.flush();
    }
}

3. ์„ ํƒ ์ •๋ ฌ

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.IOException;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));

        writer.write("์ •๋ ฌํ•  ์ˆ˜๋“ค์„ ์ž…๋ ฅํ•˜์„ธ์š”. >>> ");
        writer.flush();
        //input ๋ฐฐ์—ด์— readline()ํ•ด์„œ " "๋กœ ์ž˜๋ผ์„œ ์ €์žฅ
        String[] input = reader.readLine().split(" ");

        //intํ˜•์ธ arr ๋ฐฐ์—ด์— input ๊ฐœ์ˆ˜๋งŒํผ int ์ดˆ๊ธฐํ™” ์ƒ์„ฑ
        int[] arr = new int[input.length];
        for (int i = 0; i<input.length; i++)
            //Integer.parseInt: ๋ฌธ์ž์—ด์„ ํŒŒ์‹ฑํ•˜์—ฌ ์ •์ˆ˜๋กœ ๋ฐ”๊พธ๋Š” ๋ฉ”์„œ๋“œ
            arr[i] = Integer.parseInt(input[i]);

        writer.write("์›๋ž˜ ๋ฐฐ์—ด: ");
        printfunc(writer, arr);

        selectionSort(arr);

        writer.write("์„ ํƒ ์ •๋ ฌ ํ›„ ๋ฐฐ์—ด: ");
        printfunc(writer, arr);
    }

    public static void selectionSort(int[] arr){
        int n = arr.length;
        int min;
        for(int i=0;i<n-1;i++){
            min=i;
            for(int j=i+1;j<n;j++) if(arr[min]>arr[j]) min=j;
            if(min!=i){
                int temp = arr[min];
                arr[min] = arr[i];
                arr[i]=temp;
            }
        }
    }

    public static void printfunc(BufferedWriter writer, int[] arr) throws IOException{
        for (int j : arr) writer.write(j + " ");
        writer.write("\n\n");
        writer.flush();
    }
}

Clone this wiki locally