[프로그래머스_입문] 인덱스 바꾸기

LU·2024년 9월 30일
0
post-thumbnail

문제

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

제한사항

  • 1 < my_string의 길이 < 100
  • 0 ≤ num1, num2 < my_string의 길이
  • my_string은 소문자로 이루어져 있습니다.
  • num1num2

입출력 예

my_stringnum1num2result
"hello"12"hlelo"
"I love you"36"I l veoyou"

입출력 예 설명

입출력 예 #1

  • "hello"의 1번째 인덱스인 "e"와 2번째 인덱스인 "l"을 바꾸면 "hlelo"입니다.

입출력 예 #2

  • "I love you"의 3번째 인덱스 "o"와 " "(공백)을 바꾸면 "I l veoyou"입니다.

풀이 1

class Solution {
    public String solution(String my_string, int num1, int num2) {
        String answer = "";
        for(int i = 0; i < my_string.length(); i++){
            if(i == num1) {
                answer += my_string.charAt(num2);
            } else if (i == num2) {
                answer += my_string.charAt(num1);
            } else {
                answer += my_string.charAt(i);
            }
        }
        return answer;
    }
}

풀이 2

class Solution {
    public String solution(String my_string, int num1, int num2) {
        // String을 char 배열로 변환하기
        char[] charArr = my_string.toCharArray();
        // 인덱스 num1자리에 num2 값 대입
        charArr[num1] = my_string.charAt(num2);
        // 인덱스 num2자리에 num1 값 대입
        charArr[num2] = my_string.charAt(num1);
        // char배열을 String 문자열로 변환
        return String.valueOf(charArr);
    }
}
profile
기록은 나의 무기😎

0개의 댓글