본문 바로가기
프로그래머스/[프로그래머스 - JAVA] Lv.0

[프로그래머스 - JAVA] 인덱스 바꾸기

by 코딩하는 흰둥이 2023. 3. 10.

 

  • 내 풀이
class Solution {
    public String solution(String my_string, int num1, int num2) {
        String answer = "";
        
        String[] split = my_string.split("");
        for (int i = 0; i < split.length; i++) {
            if (i == num1){
                answer += split[num2];
            }else if(i == num2){
                answer += split[num1];
            }else {
                answer += split[i];
            }
        }
        
        return answer;
    }
}

 

  • 다른 사람 풀이
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

class Solution {
    public String solution(String myString, int num1, int num2) {
        List<String> list = Arrays.stream(myString.split("")).collect(Collectors.toList());

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

이걸 짜신 분은 stream을 정말 잘 사용하시던데 매우 부럽다...기본기 부터 쌓고 차근차근 넘어가야지

 

class Solution {
    public String solution(String my_string, int num1, int num2) {
        String answer = "";

        char[] ch = my_string.toCharArray();

        ch[num1] = my_string.charAt(num2);
        ch[num2] = my_string.charAt(num1);

        answer = String.valueOf(ch);
        return answer;
    }
}

나도 이렇게 코드를 작성하려고 했으나 다 작성하고보니 생각이 난....아직은 for문부터 손이 나가는거 같다.

댓글