Skip to content

Instantly share code, notes, and snippets.

class Solution:
# sliding window(O(n))
def numberOfArithmeticSlices(self, nums: List[int]) -> int:
def numberOfArithmeticArr(n: int) -> int:
if n < 3:
return 0
return ((n - 2) * (n - 1)) // 2
if len(nums) < 3:
return 0
@hcn1519
hcn1519 / GetSubClass.swift
Last active March 10, 2020 10:58
Get All SubClass Name in your App
func allSubClass<T>(of targetClass: T, bundle: Bundle) -> [T] {
var count: UInt32 = 0
guard let allClasses = objc_copyClassList(&count) else {
return []
}
let targetClasses: [T] = (0..<count).compactMap { index in
let someClass: AnyClass = allClasses[Int(index)]
guard Bundle(for: someClass) == bundle else { return nil }
@hcn1519
hcn1519 / GetSubClass.swift
Created March 10, 2020 10:57
Get All SubClass in your App
func allSubClass<T>(of targetClass: T, bundle: Bundle) -> [T] {
var count: UInt32 = 0
guard let allClasses = objc_copyClassList(&count) else {
return []
}
let targetClasses: [T] = (0..<count).compactMap { index in
let someClass: AnyClass = allClasses[Int(index)]
guard Bundle(for: someClass) == bundle else { return nil }
/ back 버튼 여백 적용 메소드
extension UIImage {
func imageWithInsets(insets: UIEdgeInsets) -> UIImage {
UIGraphicsBeginImageContextWithOptions(
CGSize(width: self.size.width + insets.left + insets.right,
height: self.size.height + insets.top + insets.bottom),
false, self.scale)
guard UIGraphicsGetCurrentContext() != nil else { return UIImage() }
let origin = CGPoint(x: insets.left, y: insets.top)
self.draw(at: origin)
@hcn1519
hcn1519 / GradientLayer.md
Last active June 7, 2023 09:33
UITableViewCell with GradientLayer in swift

Create GradientLayer on your tableViewCell(collectionViewCell)

1. Create CAGradientLayer Instance on your tableViewCell

class MyCell: UITableViewCell {
    let gradientLayer = CAGradientLayer()
}
class VC: ViewController {
var keyboardVisible = true
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(notification:)), name: .UIKeyboardWillShow, object: nil)
}
deinit {
NotificationCenter.default.removeObserver(self)
import Foundation
struct ReadInput {
private var currentIndex: Int = 0
private var inputArray: [String] = []
// 데이터를 배열로 변환
public mutating func readLineToArray() -> [String] {
@hcn1519
hcn1519 / kakao.swift
Last active September 22, 2017 05:34
// p1
import Foundation
func problem1(n: Int, arr1: [Int], arr2: [Int]) {
let binaryArr1 = generateBinaryArray(arr: arr1, length: n)
let binaryArr2 = generateBinaryArray(arr: arr2, length: n)
import UIKit
// Use Basic Encoder & Decoder By Codable
struct Book: Codable {
var title: String
var author: String
var price: Int
}
let book1 = Book(title: "Hello World", author: "hcn1519", price: 10000)
import Foundation
let fileManager = FileManager()
let documentsDirectory = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first!
let dataPath = documentsDirectory.appendingPathComponent("FileManager Directory")
do {
try fileManager.createDirectory(atPath: dataPath.path, withIntermediateDirectories: false, attributes: nil)