Coding Test/Programmers
[Lv.0] 인덱스 바꾸기 [프로그래머스_코딩테스트] [문자열] [10분]
whawoo
2025. 6. 24. 13:52
반응형
🔍 문제 요약
https://school.programmers.co.kr/learn/courses/30/lessons/120895
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문자열 my_string이 주어지고 인덱스 num1의 char와 인덱스 num2의 char를 바꾼 문자열을 반환하는 문제
🧠 나의 접근 방식과 시행착오
4분정도 걸린 문제. charArray로 바꾼 후에 해당하는 char를 swap 하는 형태로 풀었다. string 자체의 기능에 있을만한 기능으로 봤으나 찾아봐도 있진 않은 듯 했어서 결국 아래처럼 해결. (string에서 배열처럼 사용하여 특정 인덱스의 char를 가져올수도 있긴 하나 setter가 없는 기능이라 결국 charArray로 만들긴 해야 했다)
/// <summary>
/// 인덱스 바꾸기
/// https://school.programmers.co.kr/learn/courses/30/lessons/120895
/// </summary>
public string solution(string my_string, int num1, int num2)
{
var charArr = my_string.ToCharArray();
char changeC = charArr[num2];
charArr[num2] = charArr[num1];
charArr[num1] = changeC;
return new string(charArr);
}
✅ 풀이 코드
피드백으로 준 부분은 간단하게 해결한 방법이고 Rider IDE에서도 추천한 방향이긴 한데 프로그래머스에서 동작하지 않을까 싶어서 일단 기본적인 방식으로 풀었었다. 피드백처럼 Tuple에 집어넣고 Swap하는 기능이 있는 듯 하다.
public string solution(string my_string, int num1, int num2)
{
char[] arr = my_string.ToCharArray();
(arr[num1], arr[num2]) = (arr[num2], arr[num1]);
return new string(arr);
}
🔄 정리
문제 자체는 정말 단순한 문제긴 하다. 피드백에서 얻은 Tuple Swap에 대해서도 알아두면 나중에 쓸 수 있을 듯 하다.
반응형