๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 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 ํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
๋ฐ˜์‘ํ˜•