일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Git과 Github차이점
- JSONSerialization
- 백준
- flowchart
- git이란
- PushNotification
- github
- 흐름도
- 계산기
- ios
- 플로우차트
- 정규식
- 플로우 차트
- swift
- flow chart
- UIViewController
- 애플
- git
- 정규표현식
- 깃허브
- APNS
- github란
- 스위프트
- git사용법
- 깃
- Regex
- OS
- GitvsGithub
- 순서도
- xcode
- Today
- Total
목록swift (20)
Diana의 iOS 개발일기
회사에서 회원가입 기능을 만들면서 정규표현식을 사용하고 있는데요. 다 됫다! 싶으면 튀어나오는 예외케이스 때문에 여간 골머리를 썪고있는게 아닙니다. 확실히 이해 없이 급하게 가져다 쓰니까 허점이 많은거 같더라구요. 고로 제대로 사용하고 싶기도 하고 미래에 정규식과 다시 마주할 제 자신의 당혹감을 줄여주고자 정리해보려고 합니다. 개념정리! 시작합니다! 정규표현식(Regex)이란? 정규표현식, 즉 정규식은 패턴을 표현하기 위해서 생겨난 언어라고 합니다. 지금 제 경우에는 비밀번호를 체크할 때 연속된 숫자가 4개 이상 존재할 경우 불가능! 을 띄워주고 있는데요, 정규표현식을 사용하지 않으면 "0000", "1111", "2222",,,,"9999"를 모두 체크해주어야겠죠? 하지만 정규표현식을 사용하면 (\\d..
스위프트로 알고리즘을 공부하겠다고 Data Structures & Algorithms in swift 란 책을 처음 딱 펼친 뒤 당황했던게, 이전엔 본적이 없는 CustomStringConvertible란 프로토콜을 만나게 되었다. 이건 뭐하는 프로토콜일까? 공식 문서를 살펴보면 CustomStringConvertible은 텍스트 표현을 커스텀할 수 있는 타입이란다. 애플 개발자 사이트: https://developer.apple.com/documentation/swift/customstringconvertible 해당 프로토콜은 인스턴스를 문자열(string)로 변환할 때 그들만의 표현을 제공해주며 String(describing: ) 이니셜라이저와 print(_:)함수를 사용하여 표현한다. 예를 들어..
1. JSONSerialization 개인적으로 특정 서버에 HTTPRequest를 사용하여 로그인하여 그 계정에 해당하는 데이터를 HTTPResponse를 사용하여받아올 일이 생겼는데요, 이때 데이터의 Request와 Response를 JSON 형태로 하게 되었고, JSONSerialization이라는 클래스를 사용하며 용도가 궁금해졌습니다. 정의를 검색해보니 아래와 같이 나왔고 이를 간단히 해석해보면, JSONSerialization은 주어진 object가 JSON 형태의 데이터로 변경이 가능한지를 알려주며 이를 위해서는 몇가지 속성이 필요하다고 하네요. 그 중 제게 필요한 정보는 모든 object들은 NSString, NSNumber, NSArray, NSDIctionary 또는 NSNull 형태여..
1. NSExpression 애플 공식 문서: An expression for use in a comparison predicate. 해당 함수는 계산기 등의 연산에 자주 사용되며 문자열을 받아 계산식으로 자동 변환해주는 함수입니다. class NSExpression : NSObject checkedWorkingsForPercent에 "6*5-10"의 문자열이 들어갈 경우 expression의 결과로는 (6*5)-10 이 출력됩니다. 2. replacingOccurrences(of:with:) 애플 공식문서 : Returns a new string in which all occurrences of a target string in the receiver are replaced by another give..
10872번 - 팩토리얼 import Foundation let num = Int(readLine()!)! func calculate (num : Int) -> Int { if num == 0 { return 1 } return num * calculate(num: num - 1) } print(calculate(num: num)) 10870번 - 피보나치수 5 import Foundation var num = Int(readLine()!)! func fibonacci(x : Int) -> Int { if x == 0 { return 0 } else if x == 1 { return 1 } var result = fibonacci(x: x-1) + fibonacci(x: x-2) return result..
1712번 - 손익 분기점 import Foundation let num = readLine()!.components(separatedBy: " ").map{Int($0)!} if(num[1]>=num[2]){ print(-1) }else{ print(num[0]/(num[2] - num[1])+1) } 2292번 - 벌집 import Foundation var num = Int(readLine()!)! var plus = 0 var result = true while(result){ let calculate = 3*plus*(plus+1)+1 if(num
1157번 - 단어 공부 import Foundation let alpha = readLine()!.uppercased()//apple alpha.forEach { print(String($0)) //A,P,P,L,E } 해당 문제를 풀기 전 String에 forEach를 취할 시 위와 같은 결과가 나온다는 것을 알고 시작하자. import Foundation let alpha = readLine()!.uppercased() var array = [String:Int]() alpha.forEach { if array[String($0)] == nil{ array[String($0)] = 1 }else{ array[String($0)]! += 1 } } var result = [String]() for k..
1065번 - 한수 import Foundation let num = Int(readLine()!)! var result = 0 //100부터 999까지의 계산은 문제의 의도에 따라 함수로 분리해 표현해주었다 func calculate(num : Int) -> Int { for x in 100...num { let firstNum : Float = Float(x / 100) let thirdNum : Float = Float(x % 10) let secondNum : Float = (Float(x % 100) - thirdNum)/10 if((firstNum + thirdNum) / 2 == secondNum){ result += 1 } } return result + 99 } switch num { c..