프로그래머스: 인덱스 바꾸기

Eden·2024년 12월 11일
0

TIL

목록 보기
67/92
post-thumbnail

문제 설명

문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.

제한사항

1 < my_string의 길이 < 100
0 ≤ num1, num2 < my_string의 길이
my_string은 소문자로 이루어져 있습니다.
num1 ≠ num2

입출력 예

my_stringnum1num2result
"hello"12"hlelo"
"I love you"36"I l veoyou"

최종 코드

func solution(_ my_string:String, _ num1:Int, _ num2:Int) -> String {
    var arr = Array(my_string)
    arr.swapAt(num1, num2)
    
    return String(arr)
}

배운 점

처음에는 문자열 메서드로 삽입과 삭제로 문제 해결을 시도했는데, 타입 에러가 계속 발생하는데 원인을 못찾겠더란 거다.

배열로 지정해주고 구글에 "Swift 배열 순서 바꾸기"라고 검색해보니swapAt이라는 새로운 메서드를 발견할 수 있었다.

사용법은 간단하다.

array.swapAt(index1, index2)

index1, index2는 서로 교환하고 싶은 두 요소의 인덱스를 의미하고, 메서드 호출하면 index1의 요소와 index2에 있는 요소가 자리 바꿈이 된다.

시간 날 때 다른 방법으로 푸는 방법도 찾아봐야겠다.

profile
Frontend🌐 and iOS

0개의 댓글