2023.01.11 : 1427 소트인사이드

‍박예서·2023년 1월 11일

코딩테스트

목록 보기
17/27

1. 문제

2. 아이디어

  • 선택 정렬을 사용하여 풀어본다.

3. 코드

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

class Main {

  public static int[] selection_sorting(int[] data){
    int max;
    int max_idx;

    for(int i = 0; i < data.length; i ++){
      max = data[i];
      max_idx = i;
      for(int j = i; j < data.length; j++){
        if(max < data[j]) {
          max = data[j];
          max_idx = j;
        }
      } // j loop end
      data[max_idx] = data[i];
      data[i] = max;
    } // i loop end

    return data;
  }//selection_sorting end
  
  public static void main(String args[]) throws Exception { 
    Scanner scn = new Scanner(System.in);
    String str_data = scn.next();
    int[] data = new int[str_data.length()];

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

    data = selection_sorting(data);
    for(int d : data){
      System.out.print(d);
    }
  } 
}

4. 배운점 및 느낀점

  • 숫자 char 에서 '0'을 빼면 Int 형태로 변환된다.
  • 문자열의 길이는 함수이지만 배열의 길이는 파라미터이다. (length() 와 length)

0개의 댓글