PS/프로그래머스 입문 100제
[프로그래머스] LV.0 인덱스 바꾸기 - 자바 [55/100]
yaho!!
2024. 6. 25. 12:03
💬 문제 설명
문자열 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` 문자열의 길이만큼 문자열을 순회하면서 두 인덱스의 문자를 교환하는 방법으로 문제를 해결하였습니다.