programmers.co.kr/learn/courses/30/lessons/72410 나의 풀이 import Foundation func solution(_ new_id:String) -> String { var newID = new_id //#1 newID = newID.lowercased() //#2 var arr2: [String.Element] = [] //"az09-_." Array(newID).forEach { c in if let value = c.asciiValue, value >= 97 && value = 48 && value = 16 { let index = newID.index(newID.startIndex, offsetBy: 15) newID = String(newID[newID...
programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 나의 풀이 import Foundation func solution(_ board:[[Int]], _ moves:[Int]) -> Int { var board = board var arr: [Int] = [] var removeCount: Int = 0 for i in moves { for j in 0..
키보드가 올라가고 내려갈때 같이 움직이는 뷰를 처리하는 방법입니다. NotificationCenter 등록된 옵저버에 정보를 담은 신호를 보내는 방식 1. NotificationCenter에 옵저버를 추가해줍니다. (show, hide 2개) NotificationCenter.default.addObserver(self, selector: #selector(adjustInputView), name: UIResponder.keyboardWillShowNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(adjustInputView), name: UIResponder.keyboardWillHideN..
Delegation은 클래스나 구조체가 다른 타입의 인스턴스에 책임을 양도하도록하는 디자인패턴입니다. 이 디자인패턴은 위임된 기능을 제공하기 위해 delegate이 보장되도록 위임된 책임을 캡슐화하는 프로토콜을 정의함으로써 구현됩니다. Delegation은 특정 액션이나 외부 소스로부터 소스의 유형을 알 필요 없이 데이터를 검색할 때 사용할 수 있습니다. 아래는 주사위게임 예시입니다. protocol DiceGame { var dice: Dice { get } func play() } protocol DiceGameDelegate: AnyObject { func gameDidStart(_ game: DiceGame) func game(_ game: DiceGame, didStartNewTurnWithDi..