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

당당·2023년 4월 21일
0

프로그래머스

목록 보기
13/245

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개의 댓글