주니어 기초 코딩공부/JAVA_programmers_코딩테스트

인덱스 바꾸기_programmers_lev00

jju_developer 2022. 12. 8. 03:52
728x90

<코딩 테스트>

문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.

my_string은 소문자로 이루어져 있습니다.
num1 ≠ num2

 

<나의 풀이 과정>

문자 배열에 String을 하나씩 담은 후 배열의 인덱스의 위치를 바꿔서 return 하였습니다.

 

<나의 풀이 코드>

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

		String[] arr = my_string.split("");
		temp = arr[num1];

		arr[num1] = arr[num2];
		
		arr[num2] = temp;
		
		for (int i = 0; i < arr.length; i++) {
			answer += arr[i];
		}
		return answer;
	}
}

<다른사람 풀이 1>

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;
    }
}

 

<다른사람 풀이 2>

class Solution {
    public String solution(String my_string, int num1, int num2) {
        my_string = my_string.substring(0, num1) + my_string.charAt(num2) + my_string.substring(num1+1, num2) + my_string.charAt(num1) + my_string.substring(num2+1, my_string.length());

        return my_string;
    }
}
728x90