[백준] #1427_소트인사이드

Yujin·2020년 8월 3일
0

BAEKJOON ONLINE JUDGE

목록 보기
1/8
post-thumbnail

📝 문제

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

✍ 입력

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

💻 출력

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

📃 예제 입력

2143

📃 예제 출력

4321

🔍내 코드

package com.focusonmx.baekjoon;

import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;

public class Solution_B1427 {

	public static void main(String[] args) {
		String input;
		Scanner sc = new Scanner(System.in);
		input = sc.next();//개행문자를 제외한 한단어 입력 받아들임
		
		String[] arrStr=input.split(""); 
		Integer[] arrInt = new Integer[arrStr.length];
		
		for(int i=0;i<arrStr.length;i++) {
			arrInt[i]=Integer.parseInt(arrStr[i]);
		}
		
		Arrays.sort(arrInt,Collections.reverseOrder());
		for (int i =0;i<arrInt.length;i++) {
			System.out.print(arrInt[i]);
		}
		
	}

}

📖 배운점

Scanner클래스의 next()와 nextline()의 차이점

next() : 공백을 기준으로 한 단어 또는 한문자씩 입력 받음 개행문자 전까지만 처리하므로 버퍼에 개행문자가 남아있음.

nextline() : 한 라인 전체를 입력받음. 개행문자까지 포함하여 처리함.

Hello java 입력시
next() : Hello만 출력
nextline() : Hello java출력


split() 함수

String[] split(String regex) : 문자열을 입력받은 정규표현식 또는 특정 문자를 기준으로 나누어 배열에 저장하여 반환

str = "010-1234-5878";
String[] arrStr=str.split("-");
//arrStr[0] : "010"
//arrStr[1] : "1234"
//arrStr[2] : "5678"



문자와 숫자 상호전환

Integer.parseInt(string str) : 문자 ➡ 숫자
Integer.toString(int n) : 숫자 ➡ 문자


오름차순, 내림차순 정렬

Arrays.sort(arr) : 오름차 순 정렬
Arrays.sort(arr,Collections.reverseOrder()) : 내림차 순 정렬

profile
하나하나 알아가는 하루하루

0개의 댓글