https://school.programmers.co.kr/learn/courses/30/lessons/120895

📔문제

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


🚫제한사항

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


📝입출력 예

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"입니다.


🧮알고리즘 분류

  • 문자열
  • 해시
  • 배열
  • 수학

📃소스 코드

class Solution {
    public String solution(String my_string, int num1, int num2) {
        String answer = "";
        char temp=' ';
        char[] charArray=my_string.toCharArray();
        
        temp=charArray[num1];
        charArray[num1]=charArray[num2];
        charArray[num2]=temp;
        
        answer=String.valueOf(charArray);
        
        return answer;
    }
}

📰출력 결과


📂고찰

my_string.toCharArray();를 통해 char[]로 변경해주고 각각의 인덱스 위치를 바꿨다. String의 인덱스를 참조하는건 되지만 값을 변경하는건 안되기 때문에 char배열로 변경했다.
그리고 String.valueOf()를 통해 String으로 변경해서 값을 리턴했다.

profile
MySQL DBA 신입

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN