[백준] 1427번 - java

syeony·2025년 2월 2일
1

Java

목록 보기
2/5


문제 바로가기

처음 접근방법


아, 문자열이랑 비슷하게 int형에도 split을 써서 배열로 만들 수 있지 않을까?
라고 생각했다.

안됨 이슈^^

답안

import java.io.*;
import java.util.*;

public class s5_1427 {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String n = br.readLine();
        int[] arr = new int[n.length()];

        for(int i=0;i<n.length();i++){
            arr[i] = n.charAt(i) - '0';
        }

        Arrays.sort(arr);
        //내림차순 핵심포인트 코드!!
        for(int i=0;i<arr.length/2;i++){
            int temp = arr[i];
            arr[i] = arr[arr.length-1-i];
            arr[arr.length-1-i]=temp;
        }

        for(int num:arr){
            System.out.print(num);
        }
    }
}

일단 입력받을때 string으로 받아주고 시작한다.
int형 빈 배열을 만들어주고 for문으로 하나하나 정수형으로 만들어 넣어줘야한다!

그다음 정렬 sort하면 오름차순 정렬이 된다.
내림차순 어케하는지 찾아보다가 아래와 같이 배열을 반으로 쪼개서 바꿔치기하는 코드를 짰다.

출력은 첨에 int i=0;i<arr.length;i++ 로 하다가 int num:arr 로 짧게 쓰는 코드를 봐버려서 가져왔다. 하나 배움 ㅎㅎ

profile
모바일 어플리케이션, cross platform과 iOS에 관심이 많은 개발자 오승연입니다

3개의 댓글

comment-user-thumbnail
2025년 2월 2일

안녕하세요 syeony님! 글 잘 보았습니다. 문제 푸느라 고생많으셨어요! 그 혹시 백준에서 푼 문제를 손쉽게 복습하거나 아카이빙하고 싶지 않으신가요? https://mycodingtest.com 에서 복습,아카이빙, 소팅, 태깅 등을 지원해드려요! 제 개인 프로젝트인데 백준푸시는 분들께 이렇게 댓글로 홍보하고있답니다. 😀 이용해주시면 정말 감사드려요! 코테 실력을늘리는데 도움이 되실거에요!

1개의 답글