| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- List
- 스택
- kotlin
- Android
- Queue
- Kotlin LinkedList
- 라즈베리파이 피코
- kotlinClass
- 우송대학교
- Kotlin자료구조
- 개발 보드
- deque
- 안드로이드
- PICO4
- State Hoisting
- 리컴포지션
- 상태 호이스팅
- 아두이노
- 추상화함수
- 자료구조
- 클래스
- 우송대
- Stack
- 코틀린
- 컴포즈
- 큐
- Class
- Compoae
- 재정의함수
- LinkedList
- Today
- Total
목록전체 글 (72)
개발자의 생활
코루틴 은 코틀린에서 비동기 처리를 쉽고 가볍게 할 수 있도록 제공하는 라이브러리입니다. 비동기 란순차적으로 실행되는 것을 동기 라고 합니다. 하지만 서비스를 개발하다 보면 네트워크를 통해 데이터를 주고받는 작업이 거의 필수적이지만 이런 작업은 시간이 얼마나 걸릴지 모른다는 것입니다. 그래서 이런 작업은 호출을 한 뒤에 언제 응답이 올지 모르기 때문에 미뤄놓고 다음 작업을 먼저 수행하고 응답이 왔을 때 이어서 수행하는 것을 비동기 작업이라고 합니다. 그럼 이런 작업이 어떻게 가능할까요? OS는 여러 개의 스레드를 가지고 있습니다. 스레드는 마치 여러 프로그램을 동시에 실행시킬 수 있는 것처럼 도와주는 역할을 합니다. 하지만 스레드 또한 개수가 제한적이고 사용할 때 비용이 크기 때문에 남용해서는 안됩니다...
문제세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그러고 나서 모든 점수를 점수/M*100으로 고쳤다.예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대오차 또는..
https://www.acmicpc.net/problem/11720문제N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백 없이 주어진다. 출력입력으로 주어진 숫자 N개의 합을 출력한다. 이 문제는 첫 번째 줄에 숫자의 개수가 입력된다고 했습니다. 만약 배열을 사용한다면 이 값을 사용해서 크기를 지정할 수 있습니다.val reader = BufferedReader(InputStreamReader(System.`in`))reader.readLine()val strNum = reader.readLine()하지만 Koltin을 사용하면 배열을 사용하지 않아도 됩니다. 그러니 첫..
상태 호이스팅 이란 간단하게 말하면 Composable의 상태를 위로 올리는 개념을 말합니다.즉 상태를 자식이 관리하지 않고 부모가 관리하도록 만드는 것입니다 stateful, stateless이 두 개는 Composable 가 상태를 관리하는 방법들입니다.하나씩 자세히 알아보겠습니다. 1. stateful이것은 composable 함수 내부에서 상태를 관리하는 방법입니다.@Composablefun CountButton( modifier: Modifier){ val count = remember { mutableIntStateOf(0) } Button( onClick = {count.intValue++}, modifier = modifier ) { ..
앱은 사용하는 과정에서 UI들의 상태값이 변경이 됩니다. 당연히 상태가 변경되면 화면은 UI를 새로 그려야 합니다.기존 XML을 사용한 View 방식은 UI의 속성이 변경되면 자동으로 해당 UI만 새로 렌더링을 하여 보여주는 방식이었습니다. 리컴포지션 이란Compose 방식은 UI 상태를 기준으로 함수를 재구성하는 방식을 사용합니다. 즉 상태가 변경되면 함수를 부분적으로만 다시 호출하게 됩니다. 이를 리컴포지션이라고 합니다. 함수를 다시 호출한다는 시점에서만 보면 너무 비효율이 아닌가 라는 생각이 들게 됩니다.하나의 컴포저블 함수에 여러 버튼, 텍스트들이 존재하는데 그중 하나의 상태만 변경돼도 컴포저블 함수가 다시 호출이 되면 렌더링을 위한 GPU사용량이 많아지게 되니 성능이 안 좋은 거 아닌가 라는 생..
저번에는 트리 자료구조의 구조를 알아보았습니다.이번에는 이진트리를 순회하는 종류와 방법을 알아보겠습니다. 이전에 알아본 선형 자료구조들은 순회방법이 한 가지였습니다. 하지만 트리는 비선형 자료구조이기 때문에 순회방법이 여러 가지가 있습니다. 1. 순회방법대표적인 순회방법은 3가지입니다.1. 전위순회(VLR)2. 중위순회(LVR)3. 후위순회(LRV)이 3가지 순회방법은 루트노드를 중심으로 왼쪽 서브트리 오른쪽 서브트리 중 어느 곳을 먼저 방문할 것인지를 의미합니다. 위 트리에서 3가지 방식으로 순회를 해보겠습니다.1. 전위순회: A -> B -> D -> E -> C -> F -> G2. 중위순회: D -> B -> E -> A -> F -> C -> G3. 후위순회: D -> E -> B -> F -..