https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char temp;
char n[11];
//공백이 없는 정수를 자리수마다 비교해야하므로
// 배열에 정수의 자리수 하나씩 입력받아야 함
scanf("%s", n);
//버블정렬로 내림차순 정렬하기
for (int i = 0; i < strlen(n)-1; i++) {
for (int j = 0; j < strlen(n); j++) {
//비교값 중 큰 값 찾아서 자리 변경
if (n[j] < n[j+1]) {
temp = n[j];
n[j] = n[j+1];
n[j+1] = temp;
}
}
}
//정렬된 문자열 출력
printf("%s", n);
return 0;
}
java
package javastd1;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Arrays;
public class bj1427 {
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//아스키로 바꿈
char[] n = br.readLine().toCharArray();
//아스키값을 정렬
Arrays.sort(n);
for(int i = n.length-1; i>=0; i--) {
System.out.print(n[i]);
}
}
}
toCharArray() 메소드로 BufferedReader로 받은 문자열의 각 자리를 아스키코드 값으로 변환한 뒤에 배열을 정렬한다.
'공부하자 > 알고리즘' 카테고리의 다른 글
[백준] 11651번 좌표 정렬하기2 java (0) | 2022.04.13 |
---|---|
[백준] 2864번 5와 6의 차이 java (0) | 2022.03.03 |
[백준] 1018번 체스판 다시 칠하기 C, java (0) | 2022.02.08 |
[백준] 1436번 영화감독 숌 java (0) | 2022.01.27 |
[백준] 2798번 블랙잭 C, java (0) | 2022.01.26 |