본문 바로가기

반응형

코틀린

[프로그래머스] 프린터 #코틀린 #kotlin #큐 #queue #level2 https://programmers.co.kr/learn/courses/30/lessons/42587?language=kotlin 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 풀이 먼저, 인쇄가 이루어지는 절차는 다음과 같습니다. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 그렇지 않으면 J를 인쇄합니다. 문서가 모두 인쇄될 때까지 반복합니다. 이를 코틀린 코드로 표현하면 .. 더보기
[프로그래머스] 기능 개발 #코틀린 #kotlin #스택 #stack #level2 https://programmers.co.kr/learn/courses/30/lessons/42586?language=kotlin 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 풀이 다음의 규칙을 따라 코드를 작성해봅시다. `(100 - 현재 진행률) / 진행 속도`로 남은 기간을 계산합니다. (소수점이 생길 경우 올림) 첫 번째 남은 일을 스택에 집어넣습니다. 이때 (남은 기간, counter) 형식으로 집어넣습니다. 남은 기간을 순회하며 stack top과 비교하여 남은 기간이 더 작은 경우 co.. 더보기
[프로그래머스] 위장 #코틀린 #kotlin #hash #level2 https://programmers.co.kr/learn/courses/30/lessons/42578?language=kotlin 코딩테스트 연습 - 위장 programmers.co.kr 풀이 옷을 입는 방법의 수는 (종류 1 옷의 수) * (종류 2 옷의 수) * ...입니다. 해당 종류의 옷이 존재하지 않으면 고려하지 않습니다. 스파이는 하루에 최소 한 개의 의상은 입으므로, 아무 것도 안 입는 경우의 수를 하나 제거합니다. 안경만 입거나 하긴 한다는 거네... 변태. class Solution { fun solution(clothes: Array) = clothes.groupBy { (_, type) -> type }.values .fold(1) { acc, v -> acc * (v.size + 1.. 더보기
[프로그래머스] 베스트앨범 #코틀린 #kotlin #hash #level3 https://programmers.co.kr/learn/courses/30/lessons/42579?language=kotlin 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 풀이 문제에서 하라는대로 해봅시다. 먼저, 곡을 장르 별로 구분합니다. plays.withIndex().groupBy { genres[it.index] } zip() 메소드를 사용해도 좋겠지만, 이후에 노래의 고유 번호가 필요하므로, withIndex() 메소드를 사용하여 index를 사용해 plays와 genres를 매칭시킵니다... 더보기
Kotlin 이슈 7 Room 사용하여 안드로이드 로컬 db 시작하기 위시리스트를 저장하고 싶어! 안드로이드 어플에 데이터를 저장하는 방법은 여러가지가 있지만, 저는 서버가 없는 관계로 로컬 db인 SQLite를 사용하기로 했습니다. Room은 SQLite 성능을 최대화하면서도 원활한 데이터베이스 접근을 위해 추상 레이어를 제공합니다...만 물론 직접 접근하는 방법도 존재합니다. 아래 링크는 SQLite에 직접 접근하는 방법에 대해 설명하는 안드로이드 공식 문서입니다. SQLite를 사용하여 데이터 저장 | Android 개발자 | Android Developers 데이터베이스에 데이터를 저장하는 작업은 연락처 정보와 같이 반복적이거나 구조적인 데이터에 이상적입니다. 이 페이지는 일반적으로 개발자가 SQL 데이터베이스를 잘 알고 있다고 가정하며 Android에서 SQLit.. 더보기
Object Expressions 코틀린 기초 문법 (3) - Koans 풀이 오늘도 Koans 풀이입니다. 오늘은 Object Expressions에 대한 내용인데요, Object Expressions는 callback에 이름 없는 함수를 사용하는 것처럼, 한 번 쓰이고 말 객체를 이름 없는 객체로 선언해 사용하는 문법을 말합니다. Kotlin Playground: Edit, Run, Share Kotlin Code Online play.kotlinlang.org 문제: Object Expressions Read about object expressions that play the same role in Kotlin as anonymous classes in Java. Add an object expression that provides a comparator to sort a .. 더보기
Extension fun, 코틀린 기초 문법 (2) - Koans 풀이 오늘은 Kotlin 공식 홈페이지 기초 문법에 대한 문제 풀이를 적어보려 합니다. Extension Functions에 대한 내용인데, 공식에서 읽어보라고 한 문서를 읽어도 이해가 잘 안가서리... Kotlin Playground: Edit, Run, Share Kotlin Code Online play.kotlinlang.org 문제: Extension functions Read about extension functions. Then implement extension functions Int.r()and Pair.r() and make them convert Int and Pair to RationalNumber. fun Int.r(): RationalNumber = TODO() fun Pair.r.. 더보기
doAsync, AsyncTask, Coroutines 안드로이드 비동기 정답은?! 네트워크 연결은 비동기로 처리하는 게 보편적이죠! 과연 안드로이드 + 코틀린에서는 어떤 방식을 많이 쓸까 알아봅시다. 종류 doAsync AsyncTask Coroutines Anko를 이용한 doAsync { ... } 제일 처음 발견한 방법은 Anko 라이브러리를 사용한 doAsync { ... }입니다. 사용법 또한 간단한데요. 먼저 build.gradle (Module: app)에 Anko를 추가해줍니다. ... dependencies { ... implementation 'org.jetbrains.anko:anko-common:0.9' // 추가 } 이후 코드 어디서든 doAsync { ... }에 코드를 넣어주면 비동기로 실행됩니다. 저는 아래와 같이 사용해보았습니다. doAsync { val.. 더보기

반응형