아나그램이란 두 문자열이 알파벳의 나열 순서는 다르지만 알파벳 구성이 일치하면 두 단어는 아나그램이라고 합니다. 한 단어를 재 배열하면 같은 단어가 된다는 것을 아나그램이라고 합니다. ex) 가나 > 나가, 국왕 > 왕국, 남장 > 장남 ex) TAR > RAT, ARC > CAR, ELBOW > BELOW 주어진 두 단어를 정렬하는 방법 func anagram(s1: String, s2: String) -> Bool { guard s1.count == s2.count else { return false } let sorted1 = s1.sorted() let sorted2 = s2.sorted() if sorted1 == sorted2 { return true } else { return false }..
테스트해보려고 프로젝트 생성해서 빌드를 눌렀다. 빌드 성공했다고 메시지 토스트는 떴는데 잠시 후 다시 에러 얼럿이 떴다. 에러 메세지는 Errors were encountered while preparing your device for development. Please check the Devices and Simulators Window. 개발을 위해 기기에 준비하는 동안 오류가 발생했다. 기기나 시뮬레이터 윈도우를 확인해달라. 이게 머선 129 나랑 똑같은 에러를 겪으신 분이 애플 디벨로퍼 포럼에 글을 올렸다. developer.apple.com/forums/thread/670748 재부팅해서 해결되었다고... 그래서 나도 재부팅 해보니 해결... 최고의 정답은 재부팅 아싸 잘된다
오늘 풀어볼 문제는 287번이고 58.1%의 성공률을 보입니다. 며칠 전에 풀었던 문제와 굉장히 비슷하네요. hyerios.tistory.com/219 저번 문제는 중복되는 숫자가 있는지 여부를 판단해야 했다면, 이번 문제는 어떤 숫자가 중복되는지를 리턴해주면 됩니다. 문제를 살펴보겠습니다. nums 정수 배열이 주어지면 반복되는 오직 한 숫자가 있고 그걸 리턴해주면 됩니다. 아래 주어진 예제를 살펴봅시다. 하나의 중복된 숫자를 찾아서 리턴해주면 됩니다. 이전에 풀었던 방식인 딕셔너리를 이용해 문제를 풀어보겠습니다. class Solution { func findDuplicate(_ nums: [Int]) -> Int { var dict = [Int: Int]() for i in nums { if dic..
중복 제거에 대한 알고리즘을 풀어보려 합니다. 중복을 제거하는 방법에 대해서 여러 가지가 존재해서 여러가지 방법을 사용해서 문제를 해결하겠습니다. 오늘 풀 문제는 217번이고 쉬운 난이도고 57%의 성공률을 보이네요. 그렇게 어렵지는 않은 문제인 것 같아요! 먼저 문제를 살펴보겠습니다. 정수형 배열 nums가 주어지고 값이 배열에 적어도 두 번 나타나면 참을 리턴하고 모든 숫자가 고유하다면 거짓을 반환합니다. 즉 중복되는 게 있으면 바로 참을 리턴해주면 됩니다. 1번 예시를 보면 1이 중복되니 참을 리턴해줍니다. 2번 예시를 보면 모든 숫자가 중복되지 않아서 거짓을 리턴해줍니다. 3번 예시를 보면 1이 중복되고 3이 중복되고 4가 중복되고 2가 중복되어 참을 리턴해줍니다. 생각나는 방법이 3가지 있었는데..
소수의 정의는 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수입니다. 저한테 누가 소수를 판별하는 코드를 짜보라고 하면 아래와 같이 짤 것 같아요. func isPrimeNumber(n: Int) -> Bool { guard n > 1 else { return false } for i in 2.. Int { var next = prime + 1 while next [Bool] { var flags = Array(repeating: true, count: max + 1) flags[0] = false flags[1] =..
이전에 커스텀한 버튼을 만든 적이 있었는데요 저는 제약조건을 수정해서 확장시켰는데 깃을 보다가 Ale Patron이 분의 방식이 좋아 보여서 기록해놓으려 합니다. 기존 코드에서 맘대로 조금 수정을 했습니다. 버튼이 정중앙에 배치되어있는데 오른쪽 하단으로 옮겼고 색상을 변경했습니다. 버튼의 텍스트와 함수명을 변경했습니다. 버튼 사이즈 상수는 ButtonPanelView에서만 사용되고 있어 클래스 내부로 들고 왔습니다. (내부로 들고 오면서 접근 제어자 fileprivate에서 private로 변경했습니다) 프로토콜은 클래스만 사용할 수 있도록 class로 수정했습니다. 버튼에 쉐도우 레이어는 제거했습니다. 그럼 다시 시작. class ButtonPanelView: UIView { private let bu..
Landmark구조체가 있다고 가정해본다. struct Landmark { var name: String var foundingYear: Int } Landmark에 Codable프로토콜을 채택한다. Codable프로토콜(Decodable, Encodable)을 채택하면 따로 선언하지 않아도 Codable메서드인 init(from: ) 및 encode(to :)를 지원한다. struct Landmark: Codable { var name: String var foundingYear: Int // Landmark now supports the Codable methods init(from:) and encode(to:), // even though they aren't written as part of i..
- Total
- Today
- Yesterday
- 머신러닝
- 스위프트
- objective-c
- SWIFT
- swift5
- ios
- 책
- iOS SwiftUI
- Algorithm
- Xcode
- swiftUI
- 책 추천
- rxswift
- stanford SwiftUI
- 책 후기
- Animation
- ReactiveX
- 독서
- RX
- wwdc
- leetcode
- 알고리즘
- 문자열
- objc
- string
- Deep learning
- 스위프트UI
- 딥러닝
- 애니메이션
- ARC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |