본문 바로가기

카테고리 없음

프로그래머스> 정렬> 가장 큰 수

Step1) 변수를 잘 받았는지 프린트 해복기

class Solution {
    public String solution(int[] numbers) {
        String answer = "";
        
        for( int i = 0 ; i < numbers.length ; i++ )
        {
            System.out.println(numbers[i]);
        }
테스트 1
입력값 [6, 10, 2]
기댓값 "6210"
실행 결과 실행한 결괏값 ""이(가) 기댓값 "6210"와(과) 다릅니다.
출력 6
10
2
테스트 2
입력값 [3, 30, 34, 5, 9]
기댓값 "9534330"
실행 결과 실행한 결괏값 ""이(가) 기댓값 "9534330"와(과) 다릅니다.
출력 3
30
34
5
9

 

Step2) 

arr를 int 형 타입의 2차원 배열로 만든다. 행은 numbers배열의 길이만큼으로 설정하고, 열은 number의 원소로 1000까지 받을 수 있음을 고려하여 4자리로 설정한다. 

 

class Solution {
    public String solution(int[] numbers) {
        String answer = "";
      
        int [][] arr = new int [numbers.length][4];
        
        for( int i = 0 ; i < numbers.length ; i++ )
        {
            arr[i][3] = numbers[i]/1000;
            arr[i][2] = numbers[i]/100;
            arr[i][1] = numbers[i]/10;
            arr[i][0] = numbers[i]%10;
        }
        
        for( int i = 0 ; i < numbers.length ; i++ )
        {
            for( int j = 0 ; j < 4 ; j ++)
            System.out.printf("arr[%d][%d] : %d\n",i,j, arr[i][j]);
        System.out.println();
        }
        
    
       return answer;
    }
}
테스트 1
입력값 [6, 10, 2]
기댓값 "6210"
실행 결과 실행한 결괏값 ""이(가) 기댓값 "6210"와(과) 다릅니다.
출력 arr[0][0] : 6
arr[0][1] : 0
arr[0][2] : 0
arr[0][3] : 0

arr[1][0] : 0
arr[1][1] : 1
arr[1][2] : 0
arr[1][3] : 0

arr[2][0] : 2
arr[2][1] : 0
arr[2][2] : 0
arr[2][3] : 0

테스트 2
입력값 [3, 30, 34, 5, 9]
기댓값 "9534330"
실행 결과 실행한 결괏값 ""이(가) 기댓값 "9534330"와(과) 다릅니다.
출력 arr[0][0] : 3
arr[0][1] : 0
arr[0][2] : 0
arr[0][3] : 0

arr[1][0] : 0
arr[1][1] : 3
arr[1][2] : 0
arr[1][3] : 0

arr[2][0] : 4
arr[2][1] : 3
arr[2][2] : 0
arr[2][3] : 0

arr[3][0] : 5
arr[3][1] : 0
arr[3][2] : 0
arr[3][3] : 0

arr[4][0] : 9
arr[4][1] : 0
arr[4][2] : 0
arr[4][3] : 0