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