🎁 문제 링크
https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
🎁 문제 설명
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
🎁 입출력 예시
🎁 풀이
- Scanner로 사용자에게 입력을 받는다.
- 입력 받은 수를 split하여 각 자릿수의 숫자를 받는다.
- 큰 숫자부터 작은 숫자로 내림차순 정렬하여 출력한다.
🎁 코드 - Arrays.sort()
import java.util.Arrays;
import java.util.Comparator;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] s = scanner.nextLine().split("");
Arrays.sort(s, Comparator.reverseOrder());
for (int i = 0; i < s.length; i++) {
System.out.print(s[i]);
}
}
}
🎁 코드 - 이중 for문(선택 정렬)
import java.util.Arrays;
import java.util.Comparator;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] s = scanner.nextLine().split("");
int[] arr = Arrays.stream(s).mapToInt(Integer::new).toArray();
for (int i = 0; i < arr.length; i++) {
int max = i;
for (int j = i + 1; j < arr.length; j++) {
if(arr[j] > arr[max]){
max = j;
}
}
if(arr[i] < arr[max]){
int tmp = arr[i];
arr[i] = arr[max];
arr[max] = tmp;
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
}
}
}
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 5613번 : 계산기 프로그램 [Java] (0) | 2023.08.30 |
---|---|
백준 2587번 : 대표값2 [Java] (0) | 2023.08.28 |
백준 7785번 : 회사에 있는 사람 [Java] (0) | 2023.08.27 |
댓글