smooth waters run deep

1d-1c/BOJ

1427_소트인사이드 (JAVA)

yeon_11 2020. 12. 4. 11:15
 

1427번: 소트인사이드

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

www.acmicpc.net

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;

public class Main {
    public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();

		String input = br.readLine();
		int[] arr = new int[input.length()];
		for(int i=0; i<input.length(); i++){
			arr[i] = Integer.valueOf(input.charAt(i));
		}

		Arrays.sort(arr);

		for(int i=arr.length-1; i>=0; i--){
			sb.append(arr[i]-'0');
		}

		System.out.print(sb);
		br.close();
    }
}

 

String 으로 한 번에 입력받아 int[] 배열에 charAt()을 이용해 넣어주었다. 그리고는 Arrays.sort()쓰면 끝!

 

이때 주의사항은 charAt()을 통해 int[]배열에 들어간 값은 아스키코드값이다.

즉 숫자1 -> 49 로 저장이 되므로, 후에 출력할 때에 arr[i]-'0' 을 해주어야 한다.

(숫자 1을 나타내고 싶다면, 숫자1=아스키코드49, 숫자0=아스키코드48 이므로 arr[i]-'0' = 숫자1)

 

 

'1d-1c > BOJ' 카테고리의 다른 글

1181_단어 정렬 (JAVA)  (0) 2020.12.04
11650_좌표 정렬하기 (JAVA)  (0) 2020.12.04
1707_이분 그래프 (JAVA)  (0) 2020.12.03
13023_ABCDE (JAVA)  (0) 2020.12.03
14888_연산자 끼워넣기 (JAVA)  (0) 2020.11.29