티스토리 뷰

Input

// 문자인가?
extension String {
    var isAlphabet: Bool {
        return range(of: "[^a-zA-Z]", options: .regularExpression) == nil
    }
}
// 공백으로 input arr 만들기
let input = readLine()!.components(seperatedBy: " ")

// 다양한 delimeter 사용
let expression = "100-200*300-500+20"
let arr = expression.components(separatedBy: CharacterSet(charactersIn: "*+-"))

Loop

// stride
for i in stride(from: 5, to: 0, by: -1) {
   print(i)	//5, 4, 3, 2
}

Dictionary (생성, 추가, 수정, 삭제, 접근)

// 생성
var dict = [String: Int]()
var dict = ["A": 2, "B": 1]

// 추가
dict["C"] = 2

// 수정
dict.updateValue(0, forKey: "A")

// 삭제
dict.removeValue(forKey: "A")
dict.removeAll()

// 접근 1
let allValues = dict.values
let allKeys = dict.keys

// 접근 2
for (key, value) in dict {
	// action
}

Array

언제나 느끼지만 배열은 바로바로 검색해서 쓰는게 나을 때가 있다. 메소드들도 많을 뿐더러 가끔은 return 값이 optional인지 확인하고 싶을 때가 있기 때문. 그래도 조금의 수고를 덜 수만 있다면야!

// 생성
var arr = Array(repeating: 0, count: 3)	// [0, 0, 0]

// sub array
let subArr = arr[i...j]

// String -> [String]
let str = "SUEATY"
let toArr = str.map { String($0) } // ["S", "U", "E", "A", "T", "Y"]

Math

import Foundation

// 반올림
round(num) // round는 Double

// 올림
ceil(num) // num은 Double

// 내림(버림)
floor(num) // num은 Double

Extension

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함