분류 전체보기
Swift. 문자열을 정수로 바꾸기
문제. 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 0으로 시작하지 않습니다. 입출력 예 예를들어 str이 1234이면 1234를 반환하고, -1234이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. func solution(_ s:String) -> Int { return s.first == "-" ? -1 * Int(String(Array(s)[1..
[TIL] Swift. GCD (Grand Central Patch)
GCD 해야할 일(code blocks)들을 만들어서 GCD에 넘기면 시스템에서 알아서 스레드를 할당해서 안전하게 수행시켜 줍니다. GCD는 스레드 위에 만들어진 것 입니다. GCD는 이 테스크를 DispatchQueue를 이용해서 관리하게 됩니다 #Queue 자료구조입니다. First- in & First - out 들어온 순서대로 나가는 형태의 자료구조 입니다. DispatchQueue Main Queue 메인 스레드에서 작동되는 큐입니다. Global Queue 시스템에 의해 관리되는 큐입니다 큐에 들어가는 테스크의 우선순위를 QoS(Quality of Service) 를 이용해서 표현할수 있습니다. 번호가 낮을수록 높은 순위 입니다. userInteractive - 바로 수행되어야할 작업을 표현할..
Swift. 수박수박수...
문제. 길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다.제한 조건 n은 길이 10,000이하인 자연수입니다. 문제풀이. func solution(_ n:Int) -> String { var a = "" for i in 0.. String { return "\(String(repeating: "수박", count: n / 2))\(n % 2 == 0 ? "" : "수")" } 1. 잠깐 동안 고민했지만 반복을 시킨다음 짜르는 형식으로 갈지, 실시간으로 하나씩 결과를 만들지를 생각했는데 2. 반복을 시킨다음 자르는 것은 시간이 오래걸릴것 같아 실시간으로 판별하면서 하..
Swift. 소수 찾기
문제. 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. import UIKit func solution1(_ n: Int) -> Int { var result = 0 var array = Array.init(repeating: false, count: n+1) for i in 2...n { if (!array[i]){ result += 1 for j in stride(from: i, through: n, by: i) { array[j] = true } } } return result } 요구사항. 오랜만에 머리좀..
[TIL] Swift. Frame and Bounds
1pt는 1포인트 1인치를 72로 나눈값이 1pt = 0.3527입니다 1px는 1픽셀로 이미지를 이루는 가장 작은 단위의 점입니다. Window & Mac 디스플레이 Windows에서 9pt = 12px Mac 에서 9pt = 9px windows는 화면 해상도를 95dpi를 쓰지만, mac에서는 72dpi를 사용합니다. 즉, 1인치당 96개의 점이 있는 윈도우와, 1인치당 72개의 점이있는 맥의 차이입니다. Retina 디스플레이 레티나가 아닌 디스플레이에서는 1pt = 1px이 되는데, 레티나에서는 iPhoneX, 플러스+ 종류의 Device는 3x렌더링을 하게 되는데 1pt = 9px이라고 생각하고 iPhoneX, 플러스+를 제외한 Device는 2x로 렌더링을 하게되서 1pt = 4px라고 됩니..
Swift. 문자열 다루기 기본
문제. 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. 풀이. func solution(_ s:String) -> Bool { if s.count == 4 || s.count == 6 { let num = "0123456789" let without = s.filter { num.firstIndex(of: $0) != nil } return s.count == without.count } return false } 풀고나서 보게된 풀이 (지식 +1) func solution(_ s:String) ..