SWEA13428 숫자 조작

·2022년 4월 18일
0

SWEA 알고리즘

목록 보기
1/29


https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AX4EJPs68IkDFARe

단순한 구현문제이다.
char[] 배열로 입력 받아 각 자리를 변경해보고
가장 큰 수일 때와 가장 작은 수일 때 갱신하면 된다.

import java.util.Scanner;
 
public class Solution {
    public static void main(String[] args) {
        int T;
        Scanner sc = new Scanner(System.in);
        T = sc.nextInt();
        for (int test_case = 1; test_case <= T; test_case++) {
            String num = sc.next();
            char[] A = num.toCharArray();
            int min = Integer.parseInt(num), max = min;
            //System.out.println(Integer.parseInt(String.valueOf(A)));
            for(int i = 0; i < A.length - 1; i++) {
                for(int j = i + 1; j < A.length; j++) {
                    char tmp = A[i];
                    A[i] = A[j];
                    A[j] = tmp;
                    if(A[0] != 48 && Integer.parseInt(String.valueOf(A)) < min) {
                        min = Integer.parseInt(String.valueOf(A));
                    }
                    if(A[0] != 48 && Integer.parseInt(String.valueOf(A)) > max) {
                        max = Integer.parseInt(String.valueOf(A));
                    }           
                    tmp = A[i];
                    A[i] = A[j];
                    A[j] = tmp;
                }
            }
             
            System.out.printf("#%d %d %d\n", test_case, min, max);
 
        }
 
     
 
    }
}
profile
SSAFY 7기

0개의 댓글