문제 설명
문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 < my_string의 길이 < 100
- 0 <= num1, num2 < my_string의 길이
- my_string은 소문자로 이루어져 있습니다
- num != num2
입출력 예
my_string | num1 | num2 | result |
"hello" | 1 | 2 | "hlelo" |
"I love you" | 3 | 6 | "I l veoyou" |
import java.util.Arrays;
class Solution {
public String solution(String my_string, int num1, int num2) {
char[] c = my_string.toCharArray();
char[] ch = Arrays.copyOf(c, c.length);
ch[num1] = c[num2];
ch[num2] = c[num1];
String answer = String.valueOf(ch);
return answer;
}
}
my_string을 char 배열 형태로 인덱스를 구하기로 했습니다. char 배열 c를 카피한 ch 배열을 하나 더 만들어주었습니다. c의 num1과 num2의 인덱스 번호를 추출하여 각각 ch의 num1과 num2의 인덱스 위치에 할당했습니다. 이렇게 인덱스를 바꾼 배열 ch를 다시 String형으로 형변환하여 answer와 형을 맞춰 할당했습니다.
c 배열을 만들지 않고 c에서 charAt()을 통해 ch에 바로 할당하는 방법도 있겠네요. 또는 StringBuilder를 통해 보다 효율적인 생성을 추구할 수도 있구요.
'프로그래머스 > Lv. 0(코딩테스트 입문)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 주사위의 개수(Java) (0) | 2023.04.02 |
---|---|
[프로그래머스 코딩테스트] 약수 구하기(Java) (0) | 2023.04.02 |
[프로그래머스 코딩테스트] 대문자와 소문자(Java) (0) | 2023.04.02 |
[프로그래머스 코딩테스트] 암호 해독(Java) (0) | 2023.04.02 |
[프로그래머스 코딩테스트] A로 B 만들기(Java) (0) | 2023.04.02 |