이모저모
Type method 인스턴스 method와 매우 유사하지만, 인스턴스에서 호출하는것이 아니라 type에 대해서 호출하는 method이다.(다른 언어에 보자면 클래스 메소드라 불리는 것들을 의미) Type method를 표현하기 위해서는 2가지 방법- class keyword 사용- static keyword 사용 아래 예제를 보자.1234567891011121314151617181920212223242526272829class BaseClass { class func classMethod() -> String { return "BaseClass \(#function)" } static func staticMethod() -> String { return "BaseClass \(#function)" }}..
Handling UIKit Gestures제스쳐 인식기를 사용하여 터치 처리를 단순화시키고, 사용자에 일관된 환경을 만들어준다. Overview제스쳐 인식기는 뷰에서 touch 또는 press 이벤트를 처리하는 가장 간단한 방법입니다. 어떤 뷰에도 1개 이상의 제스쳐를 붙일 수 있습니다. 제스쳐 인식기는 해당 뷰에 대해 들어오는 이벤트를 알려진 패턴과 매칭하여 해석하고 처리하는 일련의 로직들을 캡슐화 한 것입니다. 제스쳐 인식기가 매치되면 해당 객체에 알려준다.(이것은 전형적인 Target-Action 이다.) 이 객체는 ViewController, View 또는 앱의 다른 객체가 될 수 있다. 제스쳐 인식기는 Target-Action 패턴을 사용하여 노티를 전송한다. UITapGestureRecogni..
정수 삼각형이라는 문제이다. 오랜만에 알고리즘 문제를 풀어보니 c++을 다 까먹었다..... 머리가 너무 나쁜것 같다. 일단 문제는 아주 간단하며 풀이도 간단하다. 메모리는 O(N)이며 시간복잡도는 O(N^2)으로 풀 수 있다. 간단히 대각선 왼쪽 및 오른쪽에서 내려 올 수 있기 때문에 현재 위치가 i라면 i-1, i 중 큰 값을 가져오면된다. 점화식은 A[j][i] = max(A[j-1][i], A[j-1][i-1]) + input value (단 j는 j번째 줄 i는 그 줄의 i번째를 의미) 이렇게 보면 메모리가 N^2이여야 할것 같지만 이 전 값만 가지고 있으면 되기 때문에 2N으로 풀 수 있다. 아래는 풀이이다. 12345678910111213141516171819202122232425262728..
iOS에서는 image를 asset에 넣어서 사용한다. image asset에서는 normal, 2x, 3x 이렇게 나누어져 있다. 회사마다 이미지를 2x, 3x 다 넣는 곳도 있겠지만, 2x만 넣는 곳도 있을 것이다. 이때 궁금했던점이 Q) 3x 디바이스에서 2x 이미지를 어떻게 처리할 까? A) image asset에 있는 포인트 좌표를 따라간다. 1. 200 X 200 (픽셀) 이미지가 2d asset에 넣어졌다하면 2. 100 X 100, 2 scale의 이미지로 본다. (뷰 좌표계로 본다면) 3. 3x 디바이스에서 해당 이미지를 가져오면 100 X 100 자체의 포인트 좌표계를 먼저 보게된다. 그리고 scale링을 한다. 4. 그래서 3x, 2x 디바이스나 똑같은 크기의 이미지를 보게 된다.(3..
#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define MOD 1000000007#define MAX_INT 2147483647#define MAX_LLONG 9223372036854775807 /*set을 이용하여 시간복잡도 O(NlogN)에 풀수 있다.*/int main(void){ freopen("sample.txt", "r", stdin); int n;set set; scanf("%d",&n); for(int i=0, x; i