Bibi's DevLog ๐ค๐
[Swift] Array ๋ฐฐ์ด : ๋ค์ง๊ธฐ - reversed() / ์๋ฆฌ๋ฐ๊พธ๊ธฐ swapAt(_:_:) ๋ณธ๋ฌธ
๐ฑ๐ iOS/๐ Apple Developer Documentation
[Swift] Array ๋ฐฐ์ด : ๋ค์ง๊ธฐ - reversed() / ์๋ฆฌ๋ฐ๊พธ๊ธฐ swapAt(_:_:)
๋น๋น bibi 2023. 1. 19. 17:21reversed()
- ์ปฌ๋ ์ ์ ์์๋ฅผ ์ญ์์ผ๋ก ๋ํ๋ด๋ ๋ทฐ๋ฅผ ๋ฐํํ๋ค.
func reversed() -> ReversedCollection<Data>
- ๋ฐฐ์ด์ ์์๋ฅผ ๋ค์ง์ ๋ ์ ์ฉํ๋ค
- String ๋ฌธ์์ด๋ ๋ฐฐ์ด์ด๋ฏ๋ก ๋ค์ง์ ์ ์๋ค.
- ๋ค๋ง ๋ฆฌํดํ์
์ด ๋ฐฐ์ด์ด ์๋ ReversedCollection์ด๋ฏ๋ก, ํ์ํ๋ค๋ฉด Array๋ String์ผ๋ก ํ๋ณํ ํด์ฃผ์ด์ผ ํ๋ค.
- ์๋ ํ์ ์ผ๋ก ํ๋ณํํ๋ ค๋ฉด, ์ปฌ๋ ์ ์ sequence-based ๋๋ collection-based ์ด๋์ ๋ผ์ด์ ๋ฅผ ์ธ ์ ์์ด์ผ ๋ณํํ ์ ์๋ค.
ReversedCollection
์ ์ปฌ๋ ์ ์ ๋ํํ๊ณ , ์์์ ์ญ์์ผ๋ก ์ ๊ทผํ ์ ์๊ฒ ํด ์ค๋ค.
let word = "Backwards"
for char in word.reversed() {
print(char, terminator: "")
}
// Prints "sdrawkcaB"
โ ์๊ฐ๋ณต์ก๋ : O(1)
swapAt(::)
์ปฌ๋ ์ ์์ ์ง์ ๋ ์ธ๋ฑ์ค์ ๊ฐ๋ค์ ๊ตํํฉ๋๋ค.
mutating func swapAt(
_ i: Self.Index,
_ j: Self.Index
)
i
: ์๋ฆฌ๋ฅผ ๋ฐ๊ฟ ์ฒซ ๋ฒ์งธ ๊ฐ์ ์ธ๋ฑ์ค.j
: ์๋ฆฌ๋ฅผ ๋ฐ๊ฟ ๋ ๋ฒ์งธ ๊ฐ์ ์ธ๋ฑ์ค.
๋ ํ๋ผ๋ฏธํฐ๋ ๋ชจ๋ ์ปฌ๋ ์
์์ ์ ํจํ ์ธ๋ฑ์ค์ฌ์ผ ํ๋ฉฐ, endIndex
์ ๋ค๋ฅธ ๊ฐ์ด์ด์ผ ํฉ๋๋ค. i
์ j
์ ๊ฐ์ด ๊ฐ์ ๋ ์ด ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๊ฒ์ ์๋ฌด๋ฐ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
โ ์๊ฐ๋ณต์ก๋ : O(1)