문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
C언어
my_string의 길이를 변수 len에 담고 길이 + 1 만큼 동적할당을 해준다.
strcpy() 함수로 my_string을 answer에 복사한다.
num1번의 인덱스를 tmp 변수에 잠시 옮겨 놓고, num2번의 인덱스를 num1로 옮긴다.
처음 num1번의 값이 담겨있는 tmp 인덱스를 num2로 옮긴다.
answer를 반환하면 인덱스가 변환되어 출력된다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* my_string, int num1, int num2) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
size_t len = strlen(my_string);
char* answer = (char*)malloc((len + 1) * sizeof(char));
strcpy(answer, my_string);
char tmp = answer[num1];
answer[num1] = answer[num2];
answer[num2] = tmp;
return answer;
}
파이썬
주어진 my_string은 문자열을 바로 바로 사용할 수 없기 때문에 list로 변환을 한 번 하고 다음으로 넘어간다.
list(my_string)으로 문자열을 리스트의 형태로 변환한다.
num1번의 인덱스는 num2로, num2번의 인덱스는 num1로 옮긴다.
answer에는 리스트 형태가 아닌 주어진 문자열 형태로 출력하기 위해 join으로 합친 후 반환한다.
def solution(my_string, num1, num2):
char_list = list(my_string)
char_list[num1], char_list[num2] = char_list[num2], char_list[num1]
answer = ''.join(char_list)
return answer'Coding Test' 카테고리의 다른 글
| 양꼬치 (0) | 2024.07.23 |
|---|---|
| 주사위의 개수 (0) | 2024.07.22 |
| 직각삼각형 출력하기 (0) | 2024.07.20 |
| 배열 원소의 길이 (0) | 2024.07.19 |
| 배열 뒤집기 (0) | 2024.07.18 |