250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

[백준알고리즘] 1427번 소트인사이드 알고리즘 해결하기 [JAVA-자바] 본문

[Snow-ball]프로그래밍(컴퓨터)/Algorithm Training

[백준알고리즘] 1427번 소트인사이드 알고리즘 해결하기 [JAVA-자바]

Snow-ball 2022. 2. 21. 16:20
반응형

문제

배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.

 

입력

첫째 줄에 정렬학려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.

 

출력

첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.

 

 

 

 

코드

1) Sort 를 활용한 정렬

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.company.sort;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;
 
public class sortInSide {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String N  = br.readLine();
 
        String[] arr = N.split("(?<=.)");
        Arrays.sort(arr, Collections.reverseOrder());
 
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
    }
}
 
cs

 

 

2) 버블 정렬을 활용한 정렬

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.company.sort;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class sortInSide2 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String N  = br.readLine();
        int tmp;
 
        String[] arr = N.split("(?<=.)");
        int[] sortArr = new int[arr.length];
        for (int i = 0; i < arr.length; i++) {
            sortArr[i] = Integer.parseInt(arr[i]);
        }
 
        for (int i = 0; i < sortArr.length; i++) {
            for (int j = 0; j < sortArr.length - (i + 1); j++) {
                if (sortArr[j] < sortArr[j + 1]) {
                    tmp = sortArr[j + 1];
                    sortArr[j + 1= sortArr[j];
                    sortArr[j] = tmp;
                }
            }
        }
 
        for (int i = 0; i < sortArr.length; i++) {
            System.out.print(sortArr[i]);
        }
    }
}
 
cs

 

 

3) Sort와 toCharArray() 활용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.company.sort;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
 
public class sortInSide3 {
    public static void main(String[] args) throws IOException {
 
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
        char[] arr = br.readLine().toCharArray();
 
        Arrays.sort(arr);
 
        for (int i = arr.length -1; i >= 0; i--) {
            System.out.println(arr[i]);
        }
    }
}
 
cs

 

 

4) 카운트 및 charAt 활용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.company.sort;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class sortInSide4 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
        int[] count = new int[10];
        String str = br.readLine();
 
        for (int i = 0; i < str.length(); i++) {
            System.out.println("str.charAt(i) : " + str.charAt(i));
            count[str.charAt(i) - '0']++;
        }
 
        for (int i = 9; i >= 0; i--) {
            while (count[i]-- > 0) {
                System.out.print(i);
            }
        }
    }
}
 
cs

 

 

 

 

 

 

 

베타존 : 네이버쇼핑 스마트스토어

나를 꾸미다 - 인테리어소품 베타존

smartstore.naver.com

 

반응형
Comments