본문 바로가기

분류 전체보기

(78)
확장 유클리드 알고리즘 아래 영상을 참고해 작성했습니다. https://www.youtube.com/watch?v=PmwLXveLtqc 정의 유클리드 호제법을 확장한 알고리즘 입니다. https://kdr06006.tistory.com/21 유클리드 호제법 아래 영상을 참고해 작성했습니다. https://www.youtube.com/watch?v=Obs-HC5j5bI 정의 자연수 a, b가 주어질 때 a와 b의 최대 공약수 (=gcd(a, b))를 구하는 방법 과정 gcd(A, B) = gcd(B, A % B)를 이용해 재귀적으로 구 kdr06006.tistory.com ax + by = c c의 값이 gcd(a, b)의 배수일 때만 (x, y)가 정수해를 갖습니다. 즉, 확장 유클리드 알고리즘은 위의 식을 만족하는 정수해 (..
유클리드 호제법 아래 영상을 참고해 작성했습니다. https://www.youtube.com/watch?v=Obs-HC5j5bI 정의 자연수 a, b가 주어질 때 a와 b의 최대 공약수 (=gcd(a, b))를 구하는 방법 과정 gcd(A, B) = gcd(B, A % B)를 이용해 재귀적으로 구할 수 있습니다. gcd(12345, 123)을 구해봅시다. (B == 0이 될 때 A 값이 정답임) 증명 위의 영상으로 대체하겠습니다. 코드 매번 큰 비트가 사라지기 때문에 O(max(log a, log b)) 만에 gcd(a, b)를 구할 수 있습니다. #include int gcd(int a, int b) { return b ? gcd(b, a % b) : a; } int main() { printf("%d\n", gcd(..
[Jetpack Compose] 4. 리스트, LazyColumn 아래 영상을 보고 정리한 게시글입니다. https://www.youtube.com/watch?v=amPLduPYhLk&list=PLxTmPHxRH3VV8lJq8WSlBAhmV52O2Lu7n&index=4 비슷한 view 기존 안드로이드 view 중 비슷한 view ListView RecyclerView 반복문 Composable 객체 안에 반복문을 사용할 수 있음 @Preview(showBackground = true) @Composable fun TestView() { Column( modifier = Modifier .background(Color.Cyan) .fillMaxWidth() ) { for(i in 1..50) { Text("글씨 ${i}") } } } 스크롤 modifier 안의 vert..
[Jetpack Compose] 3. Box 아래 영상을 보고 정리한 게시글입니다. https://www.youtube.com/watch?v=kFOZKIwn5KU&list=PLxTmPHxRH3VV8lJq8WSlBAhmV52O2Lu7n&index=3 FrameLayout Box Composable 객체는 FrameLayout과 유사함 (FrameLayout : 겹치는걸 허용함) @Preview(showBackground = true) @Composable fun TestView() { Box(modifier = Modifier .background(color = Color.Green)) { Text("Hello") Text("Kang") } } 크기 fillMaxWidth() : 가로가 채워짐 fillMaxHeight() : 세로가 채워짐 fillM..
[Jetpack Compose] 2. 속성 지정 아래 영상을 보고 정리한 게시글입니다. https://www.youtube.com/watch?v=xszyeIWFsGc&list=PLxTmPHxRH3VV8lJq8WSlBAhmV52O2Lu7n Column을 보게되면, 소괄호 안에 4가지의 parameter가 들어감 Content 내용물이 들어감 @Preview(showBackground = true) @Composable fun TestView() { Column { Text("Hello") Text("Android") } } Modifier 속성을 지정해 꾸밀 수 있게 해줌 배경색 background 안의 color로 배경색 지정 @Preview(showBackground = true) @Composable fun TestView() { Column (m..
[Jetpack Compose] 1. Column, Row, Text, Spacer 아래 영상을 보고 정리한 게시글입니다. https://www.youtube.com/watch?v=xszyeIWFsGc&list=PLxTmPHxRH3VV8lJq8WSlBAhmV52O2Lu7n Theme 테마를 바꾸고 싶다면 ui.theme 안의 파일들을 건드리면 된다 Composable, Preview Composable 함수는 대문자로 시작 @Preview → 미리보기 할 수 있음 → 물론, 여러개 만들 수 있음 Text textView를 띄우고 싶을 때 사용 class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setCont..
Rabin Karp (라빈 카프) 알고리즘 Rabin-Karp 알고리즘은 해싱(Hashing)을 사용해서 문자열에서 특정 패턴을 찾아주는 알고리즘 입니다. Pattern에서 Target을 찾는 문제 길이가 더 긴 Pattern = "abacbaacb" 에서 길이가 더 짧은 Target = "acb" 를 찾는 문제가 있습니다. 문자열에 hash 값을 부여한 뒤, 그 hash 값으로 문자열을 판별하면 됩니다. 해시 함수 해시 함수로는 Rabin fingerprint를 많이 사용합니다. 각 문자에 m 거듭제곱을 곱해서 다 더한 값이 hash 값이 됩니다. Example) 먼저, Target의 hash 값을 구하겠습니다. 거듭제곱으로 사용할 m은 2로 가정했습니다. 이후 Pattern에서 Target의 길이만큼 잘라서 hash 값을 비교해주면 됩니다. ..
[BOJ 18251] 내 생각에 A번인 단순 dfs 문제가 이 대회에서 E번이 되어버린 건에 관하여 (Easy) 백준 18251번 내 생각에 A번인 단순 dfs 문제가 이 대회에서 E번이 되어버린 건에 관하여 (Easy) https://www.acmicpc.net/problem/18251 18251번: 내 생각에 A번인 단순 dfs 문제가 이 대회에서 E번이 되어버린 건에 관하여 (Easy) 욱제는 🎄포화이진트리🎄를 종이에 그렸다. 노드에 정수 가중치도 채워 넣었다. 욱제는 적당한 직사각형 영역을 잡아서, 영역 내에 있는 노드들의 가중치 합을 최대로 하고 싶다. 직사각형은 www.acmicpc.net 문제 포화 이진 트리에 노드가 2 ^ k - 1개 만큼 존재한다 적당한 직사각형 영역을 잡아서, 영역 내에 있는 노드들의 가중치 합을 최대로 하려한다 가중치의 최대 합은? 풀이 스위핑 알고리즘으로 이 문제를 풀 수 있..