반응형
`인덱스 바꾸기`
문제 설명
문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때,
my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
입출력 예 #1
- "hello"의 1번째 인덱스인 "e"와 2번째 인덱스인 "l"을 바꾸면 "hlelo"입니다.
입출력 예 #2
- "I love you"의 3번째 인덱스 "o"와 " "(공백)을 바꾸면 "I l veoyou"입니다.
java code
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;
}
}
- 다른풀이
class Solution {
public String solution(String my_string, int num1, int num2) {
String[] answer = my_string.split();
String tmp = answer[num1];
answer[num1] = answer[num2];
answer[num2] = tmp;
return String.join("",answer);
}
}
// swap
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
class Solution {
public String solution(String myString, int num1, int num2) {
List<String> list = Arrays.stream(myString.split("")).collect(Collectors.toList());
Collections.swap(list, num1, num2);
return String.join("", list);
}
}
python code
def solution(my_string, num1, num2):
answer =""
my_string = list(my_string)
my_string[num1],my_string[num2] = my_string[num2],my_string[num1]
answer += "".join(my_string)
return answer
반응형
'algorithm' 카테고리의 다른 글
[프로그래머스]배열 회전시키기 - java, python (0) | 2023.03.09 |
---|---|
[프로그래머스]가장 큰 수 찾기 - java,python (0) | 2023.03.08 |
[프로그래머스]최댓값 만들기 (2) - java, python (0) | 2023.03.08 |
[프로그래머스]n의 배수 고르기- java,python (0) | 2023.03.08 |
[프로그래머스]특정 문자 제거하기 - java, python (0) | 2023.03.03 |
댓글