본문 바로가기
📖 Coding Test/Programmers LV.0

[프로그래머스 LV.0] 인덱스 바꾸기

by hyebin (Helia) 2023. 1. 10.

인덱스 바꾸기

문제 설명

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

제한 사항

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

입출력 예

my_string num1 num2 result
"hello" 1 2 "hlelo"
"I love you" 3 6 "I l veoyou"

입출력 예 설명

입출력 예 #1

  • "hello"의 1번째 인덱스인 "e"와 2번째 인덱스인 "l"을 바꾸면 "hlelo"입니다.

입출력 예 #2

  • "I love you"의 3번째 인덱스 "o"와 " "(공백)을 바꾸면 "I l veoyou"입니다.

제출

import Foundation

func solution(_ my_string:String, _ num1:Int, _ num2:Int) -> String {
    var my_string = my_string.map{String($0)}
    my_string.swapAt(num1, num2)
    return my_string.joined()
}
map 함수를 사용해 입력받은 문자열을 배열로 변환한다.
swapAt 함수를 사용해 입력받은 인덱스의 요소들의 위치를 바꿔준다.
join 함수를 사용해 String 형으로 반환한다.
반응형

댓글