반응형
🔍 문제 요약
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에 대해서도 알아두면 나중에 쓸 수 있을 듯 하다.
반응형
'Coding Test > Programmers' 카테고리의 다른 글
[Lv.1] 2016년 [프로그래머스_코딩테스트] [구현, 날짜 계산] [20분] (0) | 2025.06.25 |
---|---|
[Lv.2] N개의 최소공배수 [프로그래머스_코딩테스트] [수학, 유클리드 호제법] [30분] (1) | 2025.06.24 |
[Lv.2] 올바른 괄호 [프로그래머스_코딩테스트] [스택, 문자열] [30분] (0) | 2025.06.23 |
[Lv.0] 대문자와 소문자 [프로그래머스_코딩테스트] [문자열] [10분] (0) | 2025.06.23 |
[Lv.0] 최댓값 만들기(1) [프로그래머스_코딩테스트] [정렬, 수학] [10분] (0) | 2025.06.22 |