💬 문제 설명
문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
🚫 제한 사항
- 1 < my_string의 길이 < 100
- 0 ≤ num1, num2 < my_string의 길이
- my_string은 소문자로 이루어져 있습니다.
- num1 ≠ num2
📢 입출력 예
👨🏫 입출력 예 설명
📃 제출 코드
class Solution {
public String solution(String my_string, int num1, int num2) {
char[] arr = my_string.toCharArray();
char temp = arr[num1];
arr[num1] = arr[num2];
arr[num2] = temp;
return new String(arr);
}
}
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;
}
}
✏ 해결방법 & 배운점
코드 1)
이 문제는 문자열 `my_string`에서 주어진 두 인덱스 `num1`과 `num2`에 해당하는 문자를 서로 바꿔서 새로운 문자열을 반환하는 문제입니다. 이를 해결하기 위해 문자열을 문자 배열로 변환하고, 해당 인덱스의 문자를 교환한 후 다시 문자열로 반환하는 방법을 사용하여 문제를 해결하였습니다.
코드 2)
문자열을 문자 배열로 변환하지 않고 `my_string` 문자열의 길이만큼 문자열을 순회하면서 두 인덱스의 문자를 교환하는 방법으로 문제를 해결하였습니다.
'PS > 프로그래머스 입문 100제' 카테고리의 다른 글
[프로그래머스] LV.0 외계행성의 나이 - 자바 [58/100] (0) | 2024.06.25 |
---|---|
[프로그래머스] LV.0 피자 나눠먹기 (2) - 자바 [56/100] (0) | 2024.06.25 |
[프로그래머스] LV.0 직각삼각형 출력하기 - 자바 [54/100] (0) | 2024.06.25 |
[프로그래머스] LV.0 최대값 만들기 (2) - 자바 [53/100] (0) | 2024.06.25 |
[프로그래머스] LV.0 주사위의 개수 - 자바 [52/100] (0) | 2024.06.25 |