인덱스 바꾸기

문제

 


나의 생각

 

매개변수로 받은 my_string 값을 String 배열로 담아주고 그 배열을 가지고 위치 변경을 하는 방식으로 접근. 

마지막에 다시 String으로 합칠때는 Stream값을 이용하여 결합.

 


나의 답안

 

점점 스트림을 사용하는 것에 익숙해지려고 하는 것 같은 모습에 왠지 뿌듯하다.

public static String solution(String my_string, int num1, int num2) {
    String[] result = new String[my_string.length()];
    for(int i = 0 ; i < my_string.length() ; i ++){
        result[i] = String.valueOf(my_string.charAt(i));
    }

    String temp = result[num1];
    result[num1] = result[num2];
    result[num2] = temp;

    return Arrays.stream(result).collect(Collectors.joining());
}

다른 답안

 

입력되는 매개변수 값을 split 함수로 나누어 다시 List로 담고, 그 리스트 값을 swap 함수를 이용하여 원하는 값들 끼리 자리를 변경. 마지막에는 join값을 사용하여 반환하는 방식을 사용하였다. 

최대한 문제를 이해하는 방식으로 접근하여 나중에는 이용하는 나 자신을 볼 수 있지 않을까 생각하며 정리한다...

        List<String> list = Arrays.stream(myString.split("")).collect(Collectors.toList());

        Collections.swap(list, num1, num2);
        return String.join("", list);

'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글

피자 나눠 먹기 (2)  (0) 2023.02.28
외계행성의 나이  (0) 2023.02.28
가장 큰 수 찾기  (0) 2023.02.27
배열 회전시키기  (0) 2023.02.27
최댓값 만들기 (2)  (0) 2023.02.27