[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
반응형