| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 운영체제
- Kotlin
- AsyncListDiffer
- 상태관리
- 내부 단편화
- 뷰홀더
- 리사이클러뷰
- recyclerview
- 안드로이드
- viewModelScope
- http발전과정
- NestedScrollView
- 디자인 패턴
- 절대 주소
- http 역사
- 플로이드워셜
- appcompatacitivity
- DiffUtil
- 리사이클러뷰풀
- GetX
- 물리 메모리
- appcompatactivity
- 자이고트
- Dispatchers
- 데코레이터 패턴
- AAC
- Android
- 프로세스
- flutter
- apk 빌드 과정
- Today
- Total
목록분류 전체보기 (77)
hong's android
문제 설명 1와 0로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return 하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.) 예를 들어 1234 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 가 있다면 가장 큰 정사각형은 1234 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 가 되며 넓이는 9가 되므로 9를 반환해 주면 됩니다. 제한사항 표(board)는 2차원 배열로 주어집니다. 표(board)의 행(row)의 크기 : 1,000 이하의 자연수 표(board)의 열(column)의 크기 : 1,000 이하의 자연수 표(boar..
문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 문제 풀이 * hint 스택 import java.util.Stack; class Solution { boolean solution(..
Garbage Collector Gc의 수거대상 Gc root로부터 참조를 탐색했을 때, unreachable 한 객체 Gc root 1) 스택 영역의 데이터들 2) 메소드 영역의 데이터들 3) JNI에 의해 생성된 객체들 *JNI : os에 종속적인 프로그램을 실행시키기 위한 프레임 워크 또는 c, c++ 등 다른 언어로 작성된 라이브러리를 호출하거나 반대로 호출되는 것을 가능하게 해주는 프레임워크 Gc가 언제 일어날까? 위와 같이 새로운 객체들은 Young Generation 영역에, 만든지 비교적 오래된 객체들은 Old Generation에 저장한다. 일반적인 Gc 동작 Minor Gc Young Generation에서 일어나는 Gc, Eden 영역이 가득 차면 발생한다. 1. 새로운 객체가 만들어..
문제 출판사의 편집자인 어피치는 네오에게 컬러링북에 들어갈 원화를 그려달라고 부탁하여 여러 장의 그림을 받았다. 여러 장의 그림을 난이도 순으로 컬러링북에 넣고 싶었던 어피치는 영역이 많으면 색칠하기가 까다로워 어려워진다는 사실을 발견하고 그림의 난이도를 영역의 수로 정의하였다. (영역이란 상하좌우로 연결된 같은 색상의 공간을 의미한다.) 그림에 몇 개의 영역이 있는지와 가장 큰 영역의 넓이는 얼마인지 계산하는 프로그램을 작성해보자. 테스트 케이스는 모두 통과하는데 틀렸다고 나온다. 다시 시도해봐야함. 풀이 import java.util.*; class Solution { public static int[][] arr; public static boolean[][] visit; public static ..
래퍼 클래스로 계산하면 안될까? 원시 타입이 필요한이유 래퍼클래스 참조타입이기때문에 원시타입보다 크다. 원시형의 데이터를 가져오는것보다 래퍼 클래스 형태의 객체를 가져오는것이 비효율적이고 더 느리다. 그 이유는 래퍼 클래스는 객체이다. 래퍼클래스로 된 객체를 메모리에 저장하기 위한 데이터들은 아래와 같습니다. (32비트 기준) 아래와 같습니다. housekeeping 정보로 구성된 12 bytes의 object header 공간이 있습니다. primitive fields는 각자 정해진 크기만큼 차지합니다. reference fields는 4 bytes를 차지합니다. array 배열은 16 bytes가 필요합니다. object 공간 12 bytes + array length 공간 4 bytes object..
Map 인터페이스 Set 인터페이스와 다르게 key와 value를 이용한다. Collection 인터페이스에 속한 구현체 클래스를 상속받은 구현 클래스 종류 HashMap 키에 대한 해시값을 사용해서 해당 값을 인덱스로 하여 배열을 만든다. Thread-safe 하지 않다. 그렇기 때문에 Collections.synchronizedMap(new HashMap(…)); 으로 사용하거나 null을 허용한다. 또는 java.util.concurrent 패키지의 ConcurrentHashMap 클래스를 사용할 수 있다. HashTable Collection 인터페이스 이전에 나온 HashTable, synchronized를 사용해서 thread-safe 하다. 하위 호환성에 가치를 두기 때문에 HashMap에 ..