๋ฐฐ์ด์ ๊ธธ์ด
let nums = [1,2,3]
print(nums.count)
//3
//๋น์ด์๋์ง ํ์ธ
print(nums.isEmpty)
//false
๋ฐฐ์ด ์์ ์ ๊ทผ
//subscript ๋ฌธ๋ฒ ์ฌ์ฉ
let fruits = ["Apple", "Banana","Melon"]
print(fruits[0]) //๋ฐฐ์ด ๋น์ด์์ ๋ ์ธ๋ฑ์ค๋ก ์ ๊ทผํ๋ฉด ์๋ฌ ๋ฐ์
//Apple
// ๋ฒ์
let fruits = ["Apple", "Banana","Melon"]
print(fruits[0...1])
//["Apple", "Banana"]
let fruits = ["Apple", "Banana","Melon"]
//์ ์ ์ธ๋ฑ์ค ๋์ ์์ฑ์ผ๋ก ์ ๊ณตํ๋ ์ธ๋ฑ์ค ์ฌ์ฉํ๋ฉด ๋ ์์ ํ ์ฝ๋
print(fruits[fruits.startIndex])
//Apple
print(fruits[fruits.index(before: fruits.endIndex)])
//Melon
//์ต์
๋์ด๋ผ์ ๋ฐฐ์ด ๋น์ด์์ผ๋ฉด nil๋ฆฌํด, ๋ ์์ ํ๋ค
let fruits = ["Apple", "Banana","Melon"]
print(fruits.first)
//Optional("Apple")
print(fruits.last)
//Optional("Melon")
//๊ฐ์ ์ธ๋ํ
let fruits = ["Apple", "Banana","Melon"]
print(fruits.first!)
//Apple
print(fruits.last!)
//Melon
let list = ["A","B","C","D","E"]
print(list[2...])
//["C", "D", "E"]
let list = ["A","B","C","D","E"]
print(list.prefix(3)) //๋ฐฐ์ด ์์๋ถ๋ถ๋ถํฐ ์ ๋ฌํ ๊ฐ์๋งํผ ์๋ก์ด ๋ฐฐ์ด ๋ฆฌํด
//["A", "B", "C"]
print(list.prefix(30)) //์ธ๋ฑ์ค๊ฐ ์๋๋ผ ์ต๋ ๊ฐ์๋ผ์ ๋ฌธ์ ์์ด ์คํ๋๋ค.
//["A", "B", "C", "D", "E"]
print(list.prefix(upTo:3)) //์ธ๋ฑ์ค ์ ๋ฌ(์ ๋ฌํ๊ฑฐ ๋ฏธํฌํจ)
//["A", "B", "C"]
print(list.prefix(through: 3)) //์ธ๋ฑ์ค ์ ๋ฌ(์ ๋ฌํ๊ฑฐ ํฌํจ)
//["A", "B", "C", "D"]
//์กฐ๊ฑด์ ์ง์ ํ๊ณ ์ถ์ ๋, ์์๊ฐ C์ ๊ฐ์ง ์์ ๋๊น์ง ์ถ์ถ
let r = list.prefix { $0 != "C"}
print(r)
//["A", "B"]
//๋ค์์ ์ถ์ถ
print(list.suffix(3)) //๋ค์์๋ถํฐ 3๊ฐ๋ฅผ ๋ฆฌํด
//["C", "D", "E"]
print(list.suffix(from: 3)) //3๋ฒ ์ธ๋ฑ์ค๋ถํฐ ๋ง์ง๋ง๊น์ง ์ถ์ถ
//["D", "E"]
repeating์ ์ด์ฉํ ๋ฐฐ์ด ์ด๊ธฐํ
let zero = [(String(repeating: "0", count: 3))]
print(zero)
//["000"]
let zero2 = (Array(repeating: "0", count: 3))
print(zero2)
//["0", "0", "0"]
let zero3 = [(Array(repeating: "0", count: 3))]
print(zero3)
//[["0", "0", "0"]]
๋ฐฐ์ด์ ์์ ์ถ๊ฐ
var alphabet = ["A","B","C"]
alphabet.append("E")
print(alphabet)
//["A", "B", "C", "E"]
//์ฌ๋ฌ๊ฐ ๋์ ์ถ๊ฐ
alphabet.append(contentsOf: ["F","G"])
print(alphabet)
//["A", "B", "C", "E", "F", "G"]
//์ค๊ฐ์ ์ถ๊ฐ ์ค๋ฒํค๋๊ฐ ์๋ค.
alphabet.insert("D", at: 3)
print(alphabet)
//["A", "B", "C", "D", "E", "F", "G"]
//๋ฐฐ์ด ์์ ๋ถ๊ทผ์ ์ถ๊ฐ
alphabet.insert(contentsOf: ["a","b","c"], at: 0)
print(alphabet)
//["a", "b", "c", "A", "B", "C", "D", "E", "F", "G"]
//์์ ๋ฐ๊พธ๊ธฐ
//subscript
alphabet[0...2] = ["x","y","z"]
print(alphabet)
//["x", "y", "z", "A", "B", "C", "D", "E", "F", "G"]
//๋ฉ์๋๋ก ์์ ๋ฐ๊พธ๊ธฐ
alphabet.replaceSubrange(0...2, with: ["x"])
print(alphabet)
//["x", "A", "B", "C", "D", "E", "F", "G"]
//์ญ์
alphabet[0..<1] = []
print(alphabet)
//["A", "B", "C", "D", "E", "F", "G"]
๋ฐฐ์ด ์์ ์ญ์
var alphabet = ["A","B","C","D","E","F","G"]
let rm = alphabet.remove(at: 2) // ๋ฒ์ ๋์ด์ ๊ฒ์ ์ง์ ํ๋ฉด ์ธ๋ฑ์ค ์ด๊ณผ ์๋ฌ
print(rm)
//C
print(alphabet)
//["A", "B", "D", "E", "F", "G"]
let first = alphabet.removeFirst() //๋งจ ์ ๊ฐ ์ง์ฐ๊ณ ์ง์ด ๊ฐ ๋ฐํ, ๋น ๋ฐฐ์ด์ผ ๋ ํ๋ฉด ์๋ฌ
print(first)
//A
print(alphabet)
//["B", "D", "E", "F", "G"]
alphabet.removeFirst(2) // removeFirst()์ฒ๋ผ ์ง์ด ๊ฐ ๋ฐํํ์ง ์์
print(alphabet)
//["E", "F", "G"]
alphabet.removeAll()
print(alphabet)
//[]
print(alphabet.popLast()) //์ต์
๋
//๋น ๋ฐฐ์ด์ด๋ผ๋ฉด nil
alphabet = ["A","B","C","D","E","F","G"]
let last = alphabet.removeLast() // ๋น ๋ฐฐ์ด์ด๋ผ๋ฉด ์๋ฌ ๋ฐ์, ๋ง์ง๋ง ์์ ์ง์ฐ๊ณ ์ง์ด๊ฑฐ ๋ฐํ
print(last)
//G
print(alphabet)
//["A", "B", "C", "D", "E", "F"]
alphabet.removeSubrange(0...2)
print(alphabet)
//["D", "E", "F"]
alphabet[0...2]=[]
print(alphabet)
//[]
alphabet = ["A","B","C","D","E","F","G"]
//drop์ ์๋ณธ ๊ฐ์ ์์ ํ์ง ์์, ์๋ณธ์ ๋ณต์ฌํด์ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค๊ณ ๊ฑฐ๊ธฐ์์ ์ญ์ ํ ํ ๋จ์ ๋ฐฐ์ด ๋ฆฌํด
let d1 = alphabet.dropFirst()
print(d1)
//["B", "C", "D", "E", "F", "G"]
let d2 = alphabet.dropFirst(3)
print(d2)
//["D", "E", "F", "G"]
print(alphabet)
//["A", "B", "C", "D", "E", "F", "G"]
let r = alphabet.drop{ $0 != "C" } //ํด๋ก์ ์์ ๋ฆฌํดํ๋ ๊ฐ์ด ํธ๋ฃจ์ผ ๋ ๊ณ์ drop
print(r)
//["C", "D", "E", "F", "G"]
print(alphabet)
//["A", "B", "C", "D", "E", "F", "G"]
๋ฐฐ์ด ๋น๊ต
let a = ["A","B","C"]
let b = ["a","b","c"]
print(a == b) //false
print(a != b) //true
//๋ฉ์๋๋ก ๋น๊ต
print(a.elementsEqual(b)) //false
๋ฐฐ์ด ๊ฒ์
let randomNumbers = [1,2,3,1,4,5,2,6,7,5,0]
print(randomNumbers.min()) //์ต์
๋์
//Optional(0)
let a = ["a","b","c"]
print(a.min()!) //์์คํค ์ฝ๋๊ฐ ๊ฐ์ฅ ์์ ๊ฑฐ ๋ฆฌํด
//a
// ํฌ๊ธฐ๋ฅผ ์ด๋ป๊ฒ ํ๋จํ ์ง ์ง์ ๊ตฌํ ๊ฐ๋ฅ
//randomNumbers.min(by: <#T##(Int, Int) throws -> Bool#>)
//๊ฐ์ฅ ํฐ ๊ฐ
print(randomNumbers.max()!)
//7
//๋ฐฐ์ด์ ๊ฐ ์๋์ง ํ์ธ
print(randomNumbers.contains(1))
//true
//๋ฐฐ์ด์ ๊ฐ ์๋์ง ํ์ธ - ํด๋ก์ - ๊ฐ์ด ์ง์์ผ ๋ true ๋ฆฌํด
print(randomNumbers.contains{ $0.isMultiple(of: 2)})
//true
//์์ผ๋ฉด nil, ๊ฐ์ฅ ๋จผ์ ๊ฒ์๋ ์ง์ 2
print(randomNumbers.first{ $0.isMultiple(of: 2)})
//Optional(2)
//์์ผ๋ฉด nil, ๊ฐ์ฅ ๋จผ์ ๊ฒ์๋ ์ง์ 2์ ์ธ๋ฑ์ค
print(randomNumbers.firstIndex{ $0.isMultiple(of: 2)})
//Optional(1) (์ธ๋ฑ์ค)
//์์ผ๋ฉด nil,์ฒซ๋ฒ์งธ๋ก ๊ฒ์๋ ๊ฐ์ ์ธ๋ฑ์ค ๋ฆฌํด
print(randomNumbers.firstIndex(of: 7))
//Optional(8)
//์์์๋ถํฐ
print(randomNumbers.firstIndex(of: 5))
//Optional(5)
//๋ค์์ ๋ถํฐ
print(randomNumbers.lastIndex(of: 5))
//Optional(9)
๋ฐฐ์ด ์ ๋ ฌํ๊ธฐ
let randomNumbers = [1,2,3,1,4,5,2,6,7,5,0]
var sorted_randomNumbers:[Int]
//์ค๋ฆ์ฐจ์ ์ ๋ ฌ
sorted_randomNumbers=randomNumbers.sorted()
print(randomNumbers)
//[1, 2, 3, 1, 4, 5, 2, 6, 7, 5, 0]
print(sorted_randomNumbers)
//[0, 1, 1, 2, 2, 3, 4, 5, 5, 6, 7]
//๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
sorted_randomNumbers=randomNumbers.sorted {$0>$1}
print(sorted_randomNumbers)
//[7, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
- ์๋ณธ ๋ฐฐ์ด์ ๋ฐ๋์ง ์๋๋ค.
- sorted๋ ์๋ก์ด ๋ณต์ฌ๋ณธ์ ๋ง๋ค์ด์ ์ ๋ ฌํ ๋ค์์ ๋ฆฌํดํ๋ค.
let randomNumbers = [1,2,3,1,4,5,2,6,7,5,0]
//์๋ณธ์ ๋ณ๊ฒฝํ๋ ค๋ฉด var๋ก ์ ์ธ๋์ด ์์ด์ผ ํจ
var mutableNums = randomNumbers
//์ค๋ฆ์ฐจ์ ์ ๋ ฌ
mutableNums.sort()
print(mutableNums)
//[0, 1, 1, 2, 2, 3, 4, 5, 5, 6, 7]
//์๋ณธ ๋ค์ง๊ธฐ
mutableNums.reverse()
print(mutableNums)
//[7, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
//์ ๋ฌํ ์ธ๋ฑ์ค์ ์๋ ์์๋ค์ ์๋ก ๋ฐ๊ฟ์ค
mutableNums.swapAt(0, 1)
print(mutableNums)
//[6, 7, 5, 5, 4, 3, 2, 2, 1, 1, 0]
//์คํํ ๋ ๋ง๋ค ๋งค๋ฒ ์์๊ฐ ๋ฌ๋ผ์ง๋ค
mutableNums.shuffle()
print(mutableNums)
//[5, 6, 2, 4, 5, 2, 7, 1, 3, 0, 1]
- ์๋ณธ ๋ฐฐ์ด์ด ๋ฐ๋๋ค.
- sort๋ ์๋ณธ์ ์ ๋ ฌํ๋ค.
์ ๋ ฌ ์กฐ๊ฑด์ด ๋ ๊ฐ์ผ ๋
// 2์ฐจ์ ๋ฐฐ์ด ์์
var array = [
[1, 2, 3],
[4, 5],
[6, 7, 8, 9],
[10, 11],
[12, 13, 14]
]
// ๋ฐฐ์ด์ ์ ๋ ฌํ๋ ํจ์
func sort2DArray(_ arr: inout [[Int]]) {
arr.sort {
// ์ฒซ ๋ฒ์งธ ๊ธฐ์ค: ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ
if $0.count != $1.count {
return $0.count > $1.count
}
// ๋ ๋ฒ์งธ ๊ธฐ์ค: ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๊ฐ๋ค๋ฉด ๋ฐฐ์ด ๋ด์ ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
let max0 = $0.max() ?? 0
let max1 = $1.max() ?? 0
return max0 > max1
}
}
'๐๐ > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] String (0) | 2024.06.22 |
---|---|
[swift] Dictionary (0) | 2024.06.20 |