728x90
public string solution(string my_string, int num1, int num2) // my_string 에서 index num1과 num2에 분자를 바꾼 문자열
{
string answer = "";
return answer;
}
문제 설명
문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 < my_string의 길이 < 100
- 0 ≤ num1, num2 < my_string의 길이
- my_string은 소문자로 이루어져 있습니다.
- num1 ≠ num2
입출력 예 설명
입출력 예 #1
- "hello"의 1번째 인덱스인 "e"와 2번째 인덱스인 "l"을 바꾸면 "hlelo"입니다.
입출력 예 #2
- "I love you"의 3번째 인덱스 "o"와 " "(공백)을 바꾸면 "I l veoyou"입니다.
풀이
사용 할 인수는 string, int, int 2가지이다. 문자열을 입력받아 각 자리에 있는 글자를 바꾸어주면 된다. 1 문자를 서로 옮겨줘야 하기때문에 char를 이용하여 배열을 생성했다. my_string을 char로 구성된 배열에 입력시킨후에 [num1] 과 [num2]의 자리를 변경시켜준다.
[h],[l],[e],[l],[o] 인 char 배열 값을 string.concat을 이용하여 문자열로 바꾸어서 리턴한다.
class Solution
{
static string solution(string my_string, int num1, int num2) // my_string 에서 index num1과 num2에 분자를 바꾼 문자열
{
string answer = "";
//
char[] arr = my_string.ToCharArray();
char ch;
ch = arr[num1];
arr[num1] = arr[num2];
arr[num2] = ch;
// string.Concat()은 문자열을 연결한다.
answer = string.Concat(arr);
return answer;
}
static void Main()
{
string input = Console.ReadLine();
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
Console.WriteLine(solution(input, a, b));
}
}
결과코드이다.
728x90
'프로그래머스 알고리즘' 카테고리의 다른 글
프로그래머스 - LV .0 옹알이(1) (0) | 2022.12.29 |
---|---|
자료구조 기본 (2) - HashTable, Hash (0) | 2022.12.28 |
자료구조 기본 (1) - 스택, 큐, 배열, Big-O (2) | 2022.12.27 |
프로그래머스 - LV .0 C# 외계어 사전 (0) | 2022.12.19 |
프로그래머스 - LV .0 C# 짝수는 싫어요 (0) | 2022.12.15 |