일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Version
- FRAGMENT
- androidstudio
- Java
- IntelliJ
- sourcetree
- rxjava
- livedata
- programmers
- Algorithm
- ReactiveProgramming
- Android
- leetcode
- homebrew
- ViewModel
- library
- Room
- git
- Jetpack
- Java8
- Database
- github
- Kotlin
- Today
- Total
목록분류 전체보기 (54)
Learn & Run
https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 문제 입력값으로 문자열 s가 주어집니다. 문자열에서 같은 알파벳이 2개 붙어있는 짝을 찾습니다. 그 다음, 그 둘을 제거 한뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거할 수 있는지 없는지 확인하는 문제입니다. 문자열을 모두 제거할 수 있으면 1을, 그렇지 않으면 0을 반환해줍니다. 접근 아이디어 1. 문자열의 각 인덱..
https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 문제 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 ..
https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 문제 5개의 대기실은 각 5 X 5 크기를 가집니다. 응시자들이 앉아있을 때 맨해튼 거리가..
https://programmers.co.kr/learn/courses/30/lessons/77885 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr 문제 x에 대한 함수 f(x)를 x보다 크고 x와의 비트가 1, 2개 다른 수들 중에서 가장 작은수를 찾는 문제입니다. 해당 문제의 예시는 위의 사이트에서 확인 가능합니다. 접근 아이디어 1. x를 기준으로 오른쪽부터 0이 있는지를 먼저 판별한다. (x보다 큰 수들 모두 비트로 바꾸어 비교하면 효율성에서 통과하지 못한다) 2. 0이 있다면 그 자리가 마지막 인덱스인지 아닌지에 따라 분기처리한다. 3. 0이 없다면 모든 자리의 비트가 1인상태기 때문에 1을 더해준다. 4. 위의 아이디어는 코드에 주석처리 하여 확인 가능합니다. 조심..
https://programmers.co.kr/learn/courses/30/lessons/72412
https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 문제 N x M 배열이 입력값으로 주어진다. (1, 1) 지점에서 시작해서 (N, M) 지점에 도달했을 때의 최단 거리를 구하는 문제입니다. 단, (N, M) 지점에 도달하지 못했을 때는 -1을 반환해줍니다. 접근 아이디어 1. 최단거리를 구하는 문제에 필요한 BFS 알고리즘을 이용하였습니다. 2. 이전에 방..
https://programmers.co.kr/learn/courses/30/lessons/83201?language=kotlin 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr 문제 i x j 배열이 입력값으로 들어올 때 scores[i][j]의 값은 i행이 j열을 평가한 점수를 나타내는 것이다. 이 때, 각자가 받은 점수에 대해서 본인이 평가한 점수가 받은 점수중 유일한 최고점, 최저점이라면, 평균 점수를 계산할 때 제외시키면 된다. 여기서 평균..
이전 포스팅에서 간단하게 SQLite 데이터베이스를 사용해보면서 어떤점이 개선되어야 하면 좋을 것 같은지 살펴보았다. 그러면 Jetpack에 포함된 Room 라이브러리를 사용해보면서 앞서 언급한 문제들을 해결해줄 수 있을지 확인해 보도록 하자. 이번 포스팅에서는 Room에 대해 소개해보려고 한다. Room이란 무엇일까? Room은 기기 내에서 사용하는 데이터베이스를 편리하게 사용할 수 있는 라이브러리이다. 앞서 SQLite 데이터베이스를 사용해 보았는데, 우리는 왜 Room을 사용해야하는지 아래 이미지를 통해 확인할 수 있다. 한마디로 Room 라이브러리를 사용하면 위와 같은 문제들을 개선 또는 해결할 수 있다는 것이다. 이러한 이유로 Google에서는 Room의 사용을 권장한다. SQLite에 비해서 ..
Jetpack에 포함된 Room에 대해 먼저 소개해보려 한다. 이제는 아주 흔하게 들릴지도 모르는 라이브러리지만, 안드로이드 개발을 이제서야 시작한 사람이라면 모를수도 있을 것 이다. 안드로이드 개발자 채용 공고중에 자격 조건을 보면 Jetpack에 포함된 라이브러리들을 사용한 경험이 있는지 여부를 묻기도 한다. 그 만큼 Jetpack은 안드로이드 개발자가 갖춰야할 역량에 있어서 아주 중요한 부분이라고 할 수 있다. 지금까지 SQLite라는 데이터베이스를 공부해오고 있었다면, Room이라는 것을 습득하기에 큰 무리가 없을 것 이다. 다만, 어떤점이 개선 되었고, 차이가 있는지에 대해서라도 알고가야만 할 것 이다. Room을 사용해서 SQLite를 좀 더 안전하고 편리하게 사용할 수 있다고 하는데 한 번 ..
이전 포스팅에서 우리는 ListView에서 새로운 아이템이 화면에 보여질 때 ConvertView라는 파라미터를 이용하여 성능을 개선해 보았고, 이보다 더 개선된 ConvertView에 ViewHolder pattern을 적용시켜 보았다. 이번 포스팅에서는 조금은 다른 주제로 ViewHolder를 다뤄보고자 한다. BaseAdapter를 상속한 CustomAdapter 내부에서 ViewHolder Class를 정의하려고 한다. 여기서 문제에 봉착한다. ViewHolder Class는 Static일까 Non-static일까? 정답이 있는걸까? 아래에서 알아보도록 하자. 1. Lint에서 아주 잘 설명해준다 Reports any inner classes which may safely be made stati..