본문 바로가기
반응형

전체 글91

[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 2 이번 포스팅에서는 이전 포스팅에서 언급했듯이 RecyclerView를 위한 어댑터와 뷰홀더 클래스를 작성하고 임의의 데이터로 리스트를 구현하고 "추가" 버튼으로 데이터를 추가해보도록 하겠다. - 어댑터 클래스 생성 view 폴더 아래에 adapter 폴더를 만들고 그 안에 TodoListAdapter 클래스를 생성한다. 이 어댑터 클래스는 TodoModel의 리스트를 생성자로부터 전달받으며, RecyclerView.Adapter를 상속받고, RecyclerView.ViewHolder를 뷰홀더로 갖는 클래스로 구현한다. 아래 코드를 참고한다. class TodoListAdapter(val todoItems: ArrayList): RecyclerView.Adapter() { override fun getIt.. 2020. 2. 29.
[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 1 이번 포스팅에서는 프로젝트 생성, 패키지 구조 생성, 모델클래스 작성, 레이아웃 구성으로 이루어져 있다. 시작해보자. - 프로젝트 생성 이 부분은 따로 설명이 필요 없다고 생각한다. Empty Activity로 MyTodo 라는 이름의 프로젝트를 생성한다. 패키지명이나 프로젝트의 경로는 개인이 알아서 설정하도록 하고, 언어는 Kotlin으로 한다. Minimum API Level은 사실 샘플 프로젝트라 크게 의미가 없기 때문에 내가 자주 하는 API 21으로 두었다. - 패키지 구조 생성 우리는 MVVM(Model-View-ViewModel) 패턴을 사용 할 것이다. 구분하여 보기 편하게 위와 같이 패키지 구조를 생성하고, View에 해당하는 MainActivity를 view 폴더로 옮긴다. 이 부분은 .. 2020. 2. 29.
[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 0 예전부터 안드로이드 관련해서 기술 공유 블로그 포스팅을 해 보고 싶었다. 하지만 퇴근하고 오면 피곤하고 주말에는 쉬고 싶은 흔한 직장인의 성질(?) 덕분에 미루고 미룬것이 벌써 1년이 넘게 지난 것 같다. 얼마전엔(이것마저 꽤 된..) TensorFlow, Pandas를 책을 보며 따라하면서 포스팅을 했었는데, 현재 업무와 관계없이 단순히 공부해볼까? 하는 마음이었다면, 안드로이드는 회사에서 업무로 진행하고 있기 때문에 정리도 해 둘겸, 스킬향상을 위해 공부도 할 겸 해서 하고 싶었었다. 이제 더 미루면 안될 것 같다는 느낌도 들고 어쩌다 의지가 생겨서 시작 해 보려 한다. 앞으로 하게 될 포스팅이 나 뿐만 아니라 많은 사람들에게 도움이 되었으면 하는 바램. "Kotlin + MVVM + AAC 로 To.. 2020. 2. 29.
[프로그래머스] 코딩테스트 고득점 Kit > 베스트앨범 # 문제 # 문제 접근 정답을 도출하기 위해 필요한 것은 가장 많이 재생 된 장르의 순서 / 장르별로 포함 된 노래의 재생 횟수 ,노래의 고유 번호 가장 많이 재생 된 장르의 순서를 알기 위해선, "장르" : "총 재생된 횟수" 가 필요하다. 장르별로 포함 된 노래의 재생 횟수를 알기 위해선, "장르" : "노래의 재생 횟수 리스트" 가 필요하다. 장르별로 포함 된 노래의 고유 번호를 알기 위해선, "장르" : "노래 고유 번호 리스트" 가 필요하다. 위를 딕셔너리로 구조화 시키면, { "장르" : { "총 재생 횟수" : N, "노래 리스트" : (재생 횟수, 고유 번호) } } 와 같이 만들 수 있다. # 문제 풀이 1. 위에서 구조화한 딕셔너리를 만들기 위해 빈 딕셔너리를 생성한다. 2. genre.. 2019. 11. 5.
[프로그래머스] 코딩테스트 고득점 Kit > 위장 # 문제 # 문제 접근 문제를 읽고 처음 입출력 예를 보고 나면 의상의 종류와 의상들을 묶어서 가능한 조합들을 모두 구하면 되겠다고 생각할 수 있다. 하지만 조금만 생각해보면 의상의 종류와 그 종류가 몇 개의 의상이 있는지만 알면 경우의 수를 구할 수 있다. 또한 같은 이름을 가진 의상이 존재하지 않기 때문에 별다른 예외처리도 필요 없음을 짐작할 수 있다. 따라서 의상의 종류가 "키"가 되고 의상의 개수가 "값"이 되는 딕셔너리를 생성하여 문제를 풀 수 있을 것이다. # 문제 풀이 1. "의상의 종류 : 의상의 개수" 의 구조를 가진 딕셔너리를 생성한다. 2. clothes 리스트를 순회하며 딕셔너리에 저장한다. 3. 딕셔너리를 순회하며 경우의 수를 구하여 반환한다. 4. 경우의 수를 구하는 것은 수학적.. 2019. 11. 5.
[프로그래머스] 코딩테스트 고득점 Kit > 전화번호 목록 # 문제 # 문제 접근 phone_book의 길이가 1,000,000 이기 때문에 이중루프로 돌면 시간초과가 날 것이 분명하기 때문에 다른 방법을 생각해야 한다. A 번호가 B 번호의 접두어 이려면, B번호에서 앞에서부터 A번호 만큼의 길이를 잘라낸 부분이 A와 동일해야 한다. phone_book을 순회하며 한 전화번호를 앞에서부터 잘라가며 접두어 리스트를 만들어 놓고 있는지 없는지 판별하면 될 것 같다. 그런데 생각해보니 단순히 리스트면 시간초과가 날 것 같으니, 읽는 속도가 빠른 set을 사용하도록 하자. # 문제 풀이 1. 접두어들을 저장할 set을 만든다. 2. phone_book 리스트를 순회하며 전화번호의 앞에서부터 1글자, 2글자, .. N글자 까지의 접두어를 위의 set에 저장한다. 3. .. 2019. 11. 5.