일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LazyRow
- github action
- LazyColumn
- 데이터베이스 첫걸음
- capitalize
- Bitrise
- 최댓값 최솟값
- DB
- 실버 4
- Activirty
- kotlin
- Myungpyo Shim
- keystore
- navigation component
- 2레벨
- 개발하는 정대리
- 피보나치 수 2
- 브론즈 1
- 백준
- gradlew
- DB 기능
- 실버2
- Android
- suspend programming
- .github
- 브론즈1
- 데이터베이스
- 프로그래머스
- 성빈랜드
- compose
- Today
- Total
목록분류 전체보기 (47)
plzy의 개발 블로그
나는 기존 프로젝트에 LiveData를 중점적으로 썼었다. 이로 인해 여러 에러 사항이 많았는데 특히 A의 activity에 데이터를 호출 한 후 B의 Activity로 이동했다가 다시 돌아오면 기존에 있던 observe가 남아 있어 다시 호출되는 현상이 있었다. 이를 해결하기 위해 SingleLiveData, EventLiveData 등 여러 해결책이 있었지만, 각각 해결책마다 또 다른 이슈가 있어 이번 기회에 flow에 대해 공부하고 정리한다. flow를 알기 전에 먼저 리액티브 프로그래밍의 개념부터 알아야 한다. 왜냐하면 flow는 기존 중단 함수와 달리 여러 값을 순차적으로 내보낼 수 있다. 리액티브 프로그래밍의 개념을 다시 짚어보자면 리액티브 프로그래밍이란? 리액티브 프로그래밍이란 함수형 프로그..
[Silver IV] 덱 - 10866 문제 링크 성능 요약 메모리: 27332 KB, 시간: 276 ms 분류 자료 구조(data_structures), 덱(deque) 문제 설명 정수를 저장하는 덱(Deque)를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여덟 가지이다. push_front X: 정수 X를 덱의 앞에 넣는다. push_back X: 정수 X를 덱의 뒤에 넣는다. pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 덱에 들어있..
Deque를 알기 전에 Stack과 Queue에 대해 먼저 알아야 한다. 왜냐하면 Stack과 Queue의 단점을 보완한 게 Deque이기 때문이다. Stack란 무엇인가? stack은 후입 선출(LIFO)로 풀이하자면 마지막으로 들어간 데이터가 가장 먼저 나온다.라는 뜻이다. Kotlin에서의 Stack은 다른 Collection처럼 Interface가 존재하지 않고, 단일 클래스로 존재한다. 데이터를 입력하는 것을 push라고 하고 데이터를 꺼내는 게 pop이라고 한다. Queue란 무엇인가? queue는 선입선출(FiFO)로 풀이하자면 먼저 들어간 데이터가 가장 먼저 나온다.라는 뜻이다. 우리가 학창 시절 급식실에 줄을 설 때처럼 먼저 줄 선 사람은 먼저 밥 먹을 수 있고, 마지막에 들어온 사람은 ..
[Bronze I] 피보나치 수 2 - 2748 문제 링크 성능 요약 메모리: 12316 KB, 시간: 88 ms 분류 다이나믹 프로그래밍(dp), 수학(math) 문제 설명 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그다음 2번째부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 90보다 작거나 같..
[Silver IV] 괄호 - 9012 문제 링크 성능 요약 메모리: 12484 KB, 시간: 88 ms 분류 자료 구조(data_structures), 스택(stack), 문자열(string) 문제 설명 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가..
[Silver IV] 소수 찾기 - 1978 문제 링크 성능 요약 메모리: 20696 KB, 시간: 128 ms 분류 수학(math), 정수론(number_theory), 소수 판정(primality_test), 에라토스테네스의 체(sieve) 문제 설명 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력 주어진 수들 중 소수의 개수를 출력한다. import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.Out..
[level 2] N개의 최소공배수 - 12953 문제 링크 성능 요약 메모리: 64.2 MB, 시간: 0.04 ms 구분 코딩테스트 연습 > 연습문제 채점결과 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한 사항 arr은 길이 1이상, 15이하인 배열입니다. arr의 원소는 100..
[level 2] JadenCase 문자열 만들기 - 12951 문제 링크 성능 요약 메모리: 64.3 MB, 시간: 14.43 ms 구분 코딩테스트 연습 > 연습문제 채점결과 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다..