최종 작성 날짜 : 2022-05-05 21:10:35 +0900 Coroutine 코루틴이란? 코루틴(Coroutine) 자체는 코틀린에 국한된 개념이 아닌 예전부터 알려진 개념이다. 코루틴의 이름은 Co + Routine이 합쳐져 불리는 것으로, Co는 together의 의미를 가지고 있으며 Routine은 함수라고 생각하면 된다. 즉, 코루...
코루틴 Job
최종 수정 날짜 : 2022-05-02 13:40:24 +0900 Coroutine Job 코루틴에서 Job은 백그라운드 작업의 단위를 의미하며 작업이 완료되거나 취소됐을 때 끝나는 생명주기(life-cycle)를 가지고 있다. Job을 인스턴스화하는 기본적인 방법은 아래와 같다. Coroutine job: launch 코루틴 빌더를 이용해...
[프로그래머스] 프린터
[프로그래머스] 프린터 https://programmers.co.kr/learn/courses/30/lessons/42587 문제풀이 현재 최대값을 다음값과 비교한다. 현재 최대값이 다음값보다 크거나 같으면 동시에 배포해야하므로 스택에서 꺼낸 후 1을 더해준다. 현재 최대값이 다음값보다 작다면 새롭게 배포해야 하므로 1을 push한 후 ...
Event Wrapper
Event Wrapper MVVM 아키텍처에서 View가 ViewModel을 참조하기 위한 방법 중 하나는 LiveData를 이용하는 것이다. ViewModel은 UI 데이터를 가지고 있기 때문에 화면 회전과 같은 변경 사항이 발생하더라도 View의 UI 데이터가 사라지지 않는다. 그러나, Snackbar나 Toast, 화면 이동(navigatio...
[프로그래머스] 기능개발
[프로그래머스] 기능개발 https://programmers.co.kr/learn/courses/30/lessons/42586 굳이 스택을 이용하지 않고도 풀 수 있는 문제 문제풀이 현재 최대값을 다음값과 비교한다. 현재 최대값이 다음값보다 크거나 같으면 동시에 배포해야하므로 스택에서 꺼낸 후 1을 더해준다. 현재 최대값이 다음...
[프로그래머스] 위장
[프로그래머스] 위장 https://programmers.co.kr/learn/courses/30/lessons/42578 풀이방법 HashMap을 이용해 풀이 다른 옷들을 입을 조합의 개수를 알아야 함 예시1 설명 headgear 종류에서 의상 이름은 2가지이며 yellow_hat, g...
Generics
최종 수정 날짜 : 2022-03-30 17:32:45 +0900 Generics 제네릭(Generic)은 타입이 정해져있지 않은 클래스나 함수를 의미하며, 클래스가 인스턴스화 될 때 타입이 확정된다. 다양한 타입(자료형)을 다룰 수 있기 때문에 컬렉션에서 자주 사용한다. 컬렉션 : List, Map, 등.. ...
[BOJ 2468] 안전 영역
안전 영역 (2468번) https://www.acmicpc.net/problem/2468 풀이방법 1~100까지 물의 높이가 될 수 있지만 입력값의 최대값을 최대 가능한 물의 높이로 생각한다. 0부터 최대값까지 반복하면서 map의 (0, 0)부터 bfs로 탐색한다. import java.io.BufferedReader; import j...
[프로그래머스] 전화번호 목록
[프로그래머스] 전화번호 목록 https://programmers.co.kr/learn/courses/30/lessons/42577 풀이방법 효율성을 위해 정렬을 먼저 수행 “12”, “132”, “125”, “1234”를 정렬하면 “12”, “1234”, “125”, “132”가 되므로 다음 위치의 값이 현재 위치의 값으로 시작하게 될 경...
[프로그래머스] 완주하지 못한 선수
[프로그래머스] 완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576 풀이방법 HashMap을 이용해 풀이 동일 이름이 있을 수 있다고 했으므로 참가자의 값들이 이미 HashMap에 있을 경우에는 value를 가져와 +1 완주자의 경우 HashMap에 해당 키값을 찾아 ...