python의 list에서 마지막 데이터에 접근하기 위해서 List[-1]
를 사용했었다.
하지만 swift에서는 이러한 대괄호 접근이 안된다.
따라서 만약 배열의 마지막(또는 첫번째)에 접근한다면 Array.last(or Array.first)
을 사용하자.
옵셔널 값으로 반환되므로 해제를 해서 사용 또는 비교연산자를 통해 묵시적 해제를 하자.
Optional<Character>
형Array.append(something)
popLast()
또는 removeLast()
가 있다popLast()
은 옵셔널로 반환된다removeLast()
는 아니다(만약 제거할게 없다면 뻑난다)"\n".join(Array)
Array.joined(separator: "\n")
import Foundation
let n = Int(readLine()!)!
var count = 1
var stack: [Int] = []
var answer: [String] = []
for _ in 0..<n {
let num = Int(readLine()!)!
while count <= num {
stack.append(count)
answer.append("+")
count += 1
}
if stack.last == num {
stack.popLast()
answer.append("-")
} else {
print("NO")
exit(0)
}
}
print(answer.joined(separator: "\n"))
tuple
로 저장할 때 유용let names = ["Lee", "Kim", "Park", "Choi"]
for (index, name) in names.enumerated() {
print(index, name)
/*
0 Lee
1 Kim
2 Park
3 Choi
*/
let tuple = (index, name)
print(tuple, type(of: tuple))
/*
(0, "Lee") (Int, String)
(1, "Kim") (Int, String)
(2, "Park") (Int, String)
(3, "Choi") (Int, String)
*/
}
"12345"
또는 ["1", "2", "3", "4", "5"]
에서Optional<Character>
반환Optional<String>
반환[1, 2, 3, 4, 5]
에서Int
로 구성된 배열은 Optional<Int>
반환<String>
<Array>
(<String>
))let test = ["turtle": "Cobugi", "cat": "Cheshire"]
print(test["cat"]) // Optional("Cheshire")
Array[0...2]
과 같이)Array(ArraySlice<Int>)
와 같이 Array로 형변환 해줘야 한다