반응형

Algorithm 4

[Flutter] Dive into Flutter State Management. UI = f(state).

IntroduceFlutter의 State앱 상태가 변경되면 사용자 인터페이스가 다시 그려진다.setState로 Widget의 state를 변경하며, 그때마다 Layer Tree를 다시 만든다.[공식 문서 기준] 언제든지 UI를 재구축하기 위해 필요한 모든 데이터 집합.widget.setText()와 같이 UI 자체를 반드시 변경할 필요 없으며, 상태를 변경하면 UI가 처음부터 다시 만들어진다.Ephemeral(Local) state Ephemeral state(UI state or local state)는 단일 위젯에 포함할 수 있는 상태이다. 예) PageView 안에 현재 페이지 예) BottomNavigationBar에서 현재 선택된 탭 이러한 상태는 위젯 트리의 다른 부분에 접근할 일이 거의 없..

Mobile/Flutter 2022.12.02

[Algorithm] Kotlin 약수의 개수 구하기

0. 약간의 수학적 지식 어떤 수 N을 약수 m으로 나누었다면 x = N/m. 즉, x라는 또 하나의 약수가 보장된다. (제곱근이 아닌 경우) 예1) 35 = 5 * 7 -> 5 = 35/7. 7이라는 약수로 나누어서 5라는 약수가 보장된다. 예2) 4 = 2 * 2 -> 2 = 4/2. 2라는 약수로 나누어서 2라는 약수가 보장되지만, 같은 수이기 때문에 카운트하지 않는다. 1. O(N) for문을 사용해서 1부터 N까지의 수 중 number(타겟 숫자)와 나머지 연산을 했을 때 나머지가 0인 수를 구한다. O(N)이긴 하지만, number의 수가 커지면 커질 수록 비효율적인 알고리즘이 된다. fun helper(number: Int): Int { var count = 0 for (i in 1..num..

[Java] PriorityQueue(우선순위 큐) 사용법과 예제

안녕하세요 골드입니다. 1. PriorityQueue(우선순위 큐)란? 흔히 아는 Queue는 FIFO(First In First Out) 형식으로 먼저 들어온 데이터를 먼저 방출하는 방식입니다. PriorityQueue는 Queue인터페이스 중의 하나로, 저장 순서에 상관없이 우선순위(Priority)가 높은 것부터 선출하는 것이 특징입니다. 저장공간으로 배열을 사용하고, 각 요소를 힙(heap)이라는 자료구조 형태로 저장합니다. 힙은 이진트리의 한 형태로 가장 큰 값과 가장 작은 값을 빠르게 찾을 수 있다는 장점이 있습니다. 기본적으로 PriorityQueue는 요소에 대한 비교 기준이 존재해야 하고, 비교 기준에 따라 그 우선순위를 결정하게 됩니다. 2. PriorityQueue 선언 Priorit..

[Java] String Class와 StringBuffer Class

안녕하세요 골드입니다.오늘은 Java에 있는 Class 중 String과 StringBuffer에 대해서 글을 쓰도록 하겠습니다. 1. String 클래스 일부 언어에서는 문자열을 Char형 배열로 다루었습니다.하지만 자바에서는 문자열을 위한 String 클래스를 제공합니다.String은 자바에서 제공해주는 Class입니다. int나 char과 같은 기본 자료형이 아닙니다.String의 내부에서는 일부 언어에서 사용하는 것과 마찬가지로 Char형 배열로 저장됩니다. 문자열 변수를 선언할 때는 두 가지 방법이 있습니다.문자열을 지정하는 방법과 String Class 생성자를 사용하는 방법입니다.첫 번째로 문자열을 지정하는 방법을 사용한 경우입니다. String a1 = "str";String a2 = "s..