Blog

인덱스 바꾸기

문제 #

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

  • 제한사항
    • 1 < my_string의 길이 < 100
    • 0 ≤ num1num2 < my_string의 길이
    • my_string은 소문자로 이루어져 있습니다.
    • num1 ≠ num2
  • 입출력 예
    my_string num1 num2 result
    “hello” 1 2 “hlelo”
    “I love you” 3 6 “I l veoyou”

나의 풀이 #

class Solution {
    public String solution(String my_string, int num1, int num2) {
        String answer = "";
        String[] strArr = my_string.split("");
        
        String str = strArr[num1];
        strArr[num1] = strArr[num2];
        strArr[num2] = str;
        
        for(String s : strArr){
            answer += s;
        }
        
        return answer;
    }
}
  • String[] strArr = my_string.split("");my_string을 문자열 배열로 변환하는 코드입니다. 이 코드를 사용하여 strArr 배열에 my_string의 각 문자를 저장합니다.
  • String str = strArr[num1];strArr 배열에서 num1번째 인덱스의 값을 str 변수에 저장하는 코드입니다.
  • strArr[num1] = strArr[num2];strArr 배열에서 num2번째 인덱스의 값을 num1번째 인덱스로 이동시키는 코드입니다.
  • strArr[num2] = str;str 변수의 값을 num2번째 인덱스로 이동시키는 코드입니다.
  • for(String s : strArr){ answer += s; }strArr 배열의 각 요소를 answer 변수에 연결하여 문자열을 만드는 코드입니다.
  • 따라서, solution 함수는 my_string에서 num1num2에 해당하는 문자를 서로 교환한 문자열을 반환합니다.

다른 사람의 풀이 #

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;
    }
}
  • 해당 코드는 주어진 문자열을 문자 배열로 변환하여 인덱스 num1num2의 값을 교환하는 방식으로 문제를 해결합니다.
  • 주어진 문자열 my_stringtoCharArray() 메소드를 사용하여 문자 배열 ch로 변환합니다.
  • 문자 배열 ch에서 인덱스 num1에 해당하는 값을 my_string의 인덱스 num2에 해당하는 값으로 바꿉니다.
  • 문자 배열 ch에서 인덱스 num2에 해당하는 값을 my_string의 인덱스 num1에 해당하는 값으로 바꿉니다.
  • 문자 배열 ch를 문자열로 변환하여 answer 변수에 저장합니다.
  • 따라서, solution 함수는 my_string에서 num1num2에 해당하는 문자를 서로 교환한 문자열을 반환합니다.

관련개념 학습 #

  • 관련 개념을 찾아서 공부한 내용을 적는다.
  • ctrl + p로 내가 필기한 내용 중에서 관련내용이 있는지 찾아서 그 페이지의 링크를 복사하여 붙혀넣는다.
  • 필기 페이지에도 이 문제의 링크를 복사하여 “관련 문제"라고 써놓고 붙혀넣는다.