728x90
반응형
문제 설명
문자열 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 "I l veoyou"
입출력 예 설명
입출력 예 #1
"hello"의 1번째 인덱스인 "e"와 2번째 인덱스인 "l"을 바꾸면 "hlelo"입니다.
입출력 예 #2
"I love you"의 3번째 인덱스 "o"와 " "(공백)을 바꾸면 "I l veoyou"입니다.
내 풀이
Java
class Solution {
public String solution(String my_string, int num1, int num2) {
String answer = "";
String str1 = String.valueOf(my_string.charAt(num1));
String str2 = String.valueOf(my_string.charAt(num2));
for(int i = 0; i < my_string.length(); i++){
String s = String.valueOf(my_string.charAt(i));
if(i == num1){
answer += str2;
}else if(i == num2){
answer += str1;
}else{
answer += s;
}
}
return answer;
}
}
import java.util.*;
class Solution {
public String solution(String my_string, int num1, int num2) {
String answer = "";
char arr[] = my_string.toCharArray();
char tmp = arr[num1];
arr[num1] = arr[num2];
arr[num2] = tmp;
answer = new String(arr);
return answer;
}
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* my_string, int num1, int num2) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char* answer = (char*)malloc(sizeof(char) * strlen(my_string));
char ch1 = my_string[num1];
char ch2 = my_string[num2];
int i = 0;
for(i = 0; i < strlen(my_string); i++){
char s = my_string[i];
if(i == num1){
answer[i] = ch2;
}else if(i == num2){
answer[i] = ch1;
}else{
answer[i] = s;
}
}
answer[i] = '\0';
return answer;
}
Python
def solution(my_string, num1, num2):
answer = ''
str1 = my_string[num1];
str2 = my_string[num2];
for i in range(len(my_string)):
s = my_string[i]
if i == num1:
answer += str2
elif i == num2:
answer += str1
else:
answer += s
return answer
728x90
반응형
'코딩테스트 > 프로그래머스 입문' 카테고리의 다른 글
[코딩테스트 Lv.0] 약수 구하기 (0) | 2024.03.23 |
---|---|
[코딩테스트 Lv.0] 한 번만 등장한 문자 (0) | 2024.03.22 |
[코딩테스트 Lv.0] 영어가 싫어요 (0) | 2024.03.16 |
[코딩테스트 Lv.0] 대문자와 소문자 (0) | 2024.03.14 |
[코딩테스트 Lv.0] 암호 해독 (0) | 2024.03.14 |