일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Kotlin
- cocoapods
- UIStackView
- ViewModifier
- SwiftUI_Preview_Provider
- ios
- snapkit
- 코딩테스트
- autolayout
- kakaomap
- image
- Alert
- MapKit
- programmers
- 백준
- android
- Appearance변경
- NotificationCenter
- pod install
- UserDefaults
- EventKit
- Java
- CoreLocation
- ios15
- segue
- SWIFT
- swiftUI
- format형식
- AsyncImage
- alamofire
Archives
- Today
- Total
감자주먹밥
Swift PS 할때 유용한 것 본문
728x90
입력
readLine()
var input = readLine()! //String 으로 들어온다.
var input = readLine()!.split(separator: " ").map {Int($0)!} //공백있는 숫자 나눠서 받을 때
강제 언래핑 해주는 것은 readLine의 타입이 Optional이 붙은 문자열이기 때문이다. 공백이 들어올 수 도 있으니깐!
진법 변환
- n진수를 10진수로 변환
let binary = "111" // let decimal = Int(binary, radix: 2)! // radix가 현제 진법을 나타낸다.
- 10진수를 n진수로 변환
let decimal = 5 let binary = String(decimal, radix: 2) //uppercase를 true로 해줘야지 위로 가능 let hex = String(integer, radix: 16, uppercase: true)! // Optional로 리턴
문자열
문자열 인덱스 접근은 ex) str[4] 처럼 간단하게 되지 않는다.
String.Index 라는 타입이 존재하기 때문에 이를 이용해서 접근해야한다.
생각보다 길어져서 귀찮다.
var str = "JustHm"
var firstIndex = str.index(s.startIndex, offsetBy:0)
var lastIndex = str.index(s.endIndex, offsetBy:-2)
print(str[firstIndex..<lastIndex]) // Just
아스키코드 변환
정수를 아스키 코드로 변환하는 방법이 여타 언어와 다르다.
UnicodeScalar 라는 타입이 있고, 이를 이용하여 아스키코드를 사용할 수 있다.
Character("a").asciiValue! // 97 (UInt8)
let char = Character(UnicodeScalar(97)) // a
앞으로 문제 풀어보면서 유용한 것 적어넣을 예정!!
728x90
'IOS > Swift' 카테고리의 다른 글
[Swift] Swift Concurrency - Actor (0) | 2023.03.14 |
---|---|
[Swift] Swift Concurrency - Task (0) | 2023.03.06 |
[Swift] Swift Concurrency - async/await (0) | 2023.03.02 |
[Swift] 동시성 프로그래밍 GCD, Operation (0) | 2023.02.25 |
Xcode 단축키 모음 (2) | 2022.01.13 |
Comments