인덱스 바꾸기
문제 설명
문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 < my_string의 길이 < 100
- 0 ≤ num1, num2 < my_string의 길이
- my_string은 소문자로 이루어져 있습니다.
- num1 ≠ num2
입출력 예
my_string | num1 | num2 | result |
"hello" | 1 | 2 | hlelo |
"I love you" | 3 | 6 | ll 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 = "";
return answer;
}
}
풀이
class Solution {
public String solution(String my_string, int num1, int num2) {
// 새로운 문자열 생성
String answer = "";
// my_string의 길이만큼 반복
for(int i = 0; i < my_string.length(); i++){
// 현재 인덱스 i가 num1과 같으면
if(i == num1){
// answer에 my_string의 num2 위치의 문자 넣기
answer += my_string.charAt(num2);
}
// 현재 인덱스 i가 num2와 같으면
else if(i == num2){
// answer에 my_string의 num1 위치의 문자 넣기
answer += my_string.charAt(num1);
}
// 그 외의 경우
else {
// answer에 현재 문자 그대로 추가
answer += my_string.charAt(i);
}
}
return answer;
}
}
for 루프를 사용하여 my_string의 각 문자를 순회
- 현재 인덱스가 num1과 같으면 num2 위치의 문자를 answer에 추가
- 현재 인덱스가 num2와 같으면 num1 위치의 문자를 answer에 추가
- 그 외의 경우, 현재 인덱스의 문자를 그대로 answer에 추가합
이 과정을 통해, num1과 num2 위치의 문자가 서로 교환된 새로운 문자열을 생성하고 반환
https://school.programmers.co.kr/learn/courses/30/lessons/120895