inblog logo
|
moohyun
    알고리즘문제풀기

    문자열 정렬하기 (1)

    난이도 중하
    화낼거양's avatar
    화낼거양
    Mar 10, 2025
    문자열 정렬하기 (1)
    Contents
    정답
     
    출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120850
     

    문제 설명

    문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.

    제한사항

    • 1 ≤ my_string의 길이 ≤ 100
    • my_string에는 숫자가 한 개 이상 포함되어 있습니다.
    • my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다. - - -

    입출력 예

    my_string
    result
    "hi12392"
    [1, 2, 2, 3, 9]
    "p2o4i8gj2"
    [2, 2, 4, 8]
    "abcde0"
    [0]

    입출력 예 설명

    입출력 예 #1
    • "hi12392"에 있는 숫자 1, 2, 3, 9, 2를 오름차순 정렬한 [1, 2, 2, 3, 9]를 return 합니다.
    입출력 예 #2
    • "p2o4i8gj2"에 있는 숫자 2, 4, 8, 2를 오름차순 정렬한 [2, 2, 4, 8]을 return 합니다.
    입출력 예 #3
    • "abcde0"에 있는 숫자 0을 오름차순 정렬한 [0]을 return 합니다.
     
     
    기본적으로 주어진 코드 :
    class Solution { public int[] solution(String my_string) { int[] answer = {}; return answer; } }
     
     

    정답

     
    import java.util.ArrayList; import java.util.Arrays; import java.util.List; class Solution { public int[] solution(String my_string) { List<Integer> list = new ArrayList<>(); for (int i = 0; i < my_string.length(); i++) { try { list.add(Integer.parseInt(String.valueOf(my_string.charAt(i)))); } catch (Exception e) { } } int[] answer = new int[list.size()]; for (int i = 0; i < list.size(); i++) { answer[i] = list.get(i); } Arrays.sort(answer); return answer; } }
     
    • 숫자 추출 및 리스트에 추가
      • List<Integer> list = new ArrayList<>(); for (int i = 0; i < my_string.length(); i++) { try { list.add(Integer.parseInt(String.valueOf(my_string.charAt(i)))); } catch (Exception e) { } }
      • ArrayList를 사용하여 숫자를 저장할 빈 리스트 list를 생성합니다.
      • for 반복문을 통해 문자열 my_string의 각 문자 i를 순회합니다.
      • try 블록을 사용하여 문자가 숫자로 변환될 수 있는 경우 숫자로 변환하여 리스트에 추가합니다.
      • 변환에 실패하는 경우 catch 블록에서 예외를 무시합니다.
    • 리스트를 배열로 변환
      • int[] answer = new int[list.size()]; for (int i = 0; i < list.size(); i++) { answer[i] = list.get(i); }
      • 리스트의 크기와 동일한 크기의 정수 배열 answer를 생성합니다.
      • for 반복문을 통해 리스트의 각 요소를 배열에 복사합니다.
    • 배열 정렬
      • Arrays.sort(answer);
      • Arrays.sort 메서드를 사용하여 배열을 오름차순으로 정렬합니다.
     
    Share article
    Contents
    정답

    moohyun

    RSS·Powered by Inblog