일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Algorithm
- Kotlin
- rxjava
- livedata
- sourcetree
- Jetpack
- ViewModel
- Java
- git
- library
- FRAGMENT
- Room
- Java8
- homebrew
- Version
- IntelliJ
- ReactiveProgramming
- Database
- programmers
- github
- leetcode
- Android
- androidstudio
- Today
- Total
목록분류 전체보기 (54)
Learn & Run
새 직장에와서 거래소 안드로이드 앱을 열심히 구축하고 있습니다. 현재 개발중인 거래소앱은 Single Activity 모델로 삼아, 거의 모든 화면들은 Fragment를 사용하고 있습니다. 그래서 Fragment간 데이터 전달이 요구될때가 정말 많은데, 저희는 아래 샘플 프로젝트 처럼 구성하여 사용하고 있습니다. + 실제 적용된 아키텍쳐나 다른 라이브러리들의 사용은 제외하고 샘플 프로젝트로 간단히 설명을 드리겠습니다. MainActivity와 AFragment, BFragment가 화면에 동시에 보이고 있는 상황이라고 가정해봅시다. 어떤 동일한 상태에 따라 각 화면에서의 처리는 어떻게 할 수 있을까요? 단순히 Intent를 사용해서 데이터를 주고받을 수는 있을 것 같습니다. 하지만, 데이터가 많아지거나 ..
https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 문제 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만드는 문제입니다. 채팅방에 대한 규칙은 아래와 같습니다. 채팅방에서 닉네임을 변경하는..
https://programmers.co.kr/learn/courses/30/lessons/85002 코딩테스트 연습 - 6주차 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr 문제 복서 선수들의 몸무게가 weights, 복서 선수들의 전적을 나타내는 head2head가 인풋으로 주어집니다. 복서 선수들의 번호를 제시된 규칙에 맞게 반환하면 됩니다. 규칙은 아래와 같습니다. 1. 전체 승률이 높은 복서의 번호가 앞쪽으로 갑니다. 아직 다른 복서랑 붙어본 적이 없는 복서의 승률은 0%로 취급합니다. 2. ..
https://programmers.co.kr/learn/courses/30/lessons/84512 코딩테스트 연습 - 5주차 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr 문제 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어..
https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 문제 위의 링크를 통해 문제를 확인해 보면, 실패율은 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수로 정의한다. 입력값으로 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있..
이번 포스팅에서는 Jetpack에 포함된 ViewModel 라이브러리에 대해 소개합니다. 앞서 설명한 Room처럼 대중적으로 많이 사용되는 라이브러리입니다. ViewModel에서 한 번 알아보도록 합니다. ViewModel이란 무엇인가? 우리는 앱을 개발할 때, 단순한 기능을 구현하는 것 이상으로 앱의 아키텍쳐 설계에 대해서도 고민을 하곤 합니다. 그러면서 접하게되는 여럿 디자인 패턴중에서 MVVM(Model - View - ViewModel)에 대해 들어본 적이 있을 것 입니다. 저는 처음에 MVVM의 ViewModel과 Jetpack에 포함된 ViewModel이 같은 건지 다른 건지 헷갈려했던 기억이 있습니다. 사실 완전히 다른 차원의 개념인데도 불구하고 말입니다. MVVM에서의 ViewModel은 ..
https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 문제 입력값으로 카카오 서비스에 가입하는 유저들의 아이디가 들어옵니다. 이 때, 카카오 아이디 규칙에 맞지않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천하여 반환하면 됩니다. 해당 규칙은 위의 문제에서 확인 가능합니다. 접근 아이디어 1. 문제에 명시된 단계별 규칙에 맞게 ID 값을 변환해 나갑니다. 2. 규칙중 2단계,..
https://programmers.co.kr/learn/courses/30/lessons/84325?language=kotlin 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 문제 직업군 언어 점수를 정리한 문자열 배열 table, 개발자가 사용하는 언어를 담은 문자열 배열 languages, 언어 선호도를 담은 정수 배열 preference가 매개변수로 주어집니다. 개발자가 사용하는 언어의 언어 선호도 X 직업군 언어 점수의 총합이 가장 높은 직업군을 return 하도록 solution 함수를 완성하면 ..
https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 문제 입력값으로 문자열 배열이 주어집니다. 각 문자열들은 전화번호부에 적힌 전화번호를 나타냅니다. 여기서 각 전화번호가 서로 다른 전화번호의 접두어가 되는 경우가 있는지 확인하여 반환하면 되는 문제입니다. 어떠한 번호가 다른 번호의 접두어가 되면 false를, 그렇지 않으면 true를 반환합니다. 접근 아이디어 1. 자료구조 Set을 이용하여 각 전화번호의 ..
https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 문제 입력값으로 문자열 s가 주어집니다. 문제에 주어진 비손실 압축 방법으로 짧은 문자열을 만들고자 할 때, 가장 짧은 문자열의 길이를 반환하는 문제입니다. 상세한 문제는 위의 페이지에서 확인 가능합니다. 접근 아이디어 1. 압축 단위를 1부터 입력 문자열 s의 길이까지 범위를 정합니다. 2. 압축 단위만큼 문자열 Index 0부터 자른 후에 다음 서브 ..