2037번: 문자메시지
백준/문제2024. 5. 24. 02:402037번: 문자메시지

문제 출처 : https://www.acmicpc.net/problem/2037 언어 : Kotlin 문제 설명 :오른쪽 그림과 같은 핸드폰 자판이 있다. 이 자판을 이용하여 어떤 영어 메시지를 치려고 할 때, 걸리는 최소 시간을 구하는 프로그램을 작성하시오. 단, 1번은 누를 경우에는 공백이 찍힌다고 하자. 그리고 만약에 AC라는 문자를 치려 한다면 A를 치고 난 후 일정 시간을 기다린 후 C를 치면 된다. 하나의 문자를 입력하려면, 버튼을 눌러야 한다. 버튼을 누르면 버튼에 쓰여 있는 문자가 입력되며, 버튼을 누를 때 마다 다음 문자로 바뀌게 된다. 예를 들어, 2를 누르면 A, 2번 누르면 B, 3번 누르면 C이다. 공백을 연속으로 누를 때는 기다릴 필요가 없다. 입력 :첫째 줄에 p와 w가 주어진..

4378번: 트ㅏㅊ;
백준/문제2024. 5. 24. 01:224378번: 트ㅏㅊ;

문제 출처 : https://www.acmicpc.net/problem/4378 언어 : Kotlin 문제 설명 :가끔, 그러나 때때로, 우리들은 키보드에서 양손을 오른쪽으로 한 칸씩 이동한 상태로 두고 타자를 치는 경우가 있다. 즉, "ACMICPC.NET"을 위와 같은 방법으로 치게 되면 "SV,OV[V/MRY"이라는 이상한 문장을 보게 된다. 교준이는 장문을 쓰는데, 너무 급한 나머지 위와 같은 오류를 범한 채로 글을 완성해 버렸다. 이 글을 다시 쓰는 것은 교준이에게는 너무 힘든 일이다. 교준이를 대신해서 오류를 고쳐주자. 입력 :입력은 여러 줄로 이루어진다. 각 줄은 숫자나 공백, 알파벳 대문자, 위의 키보드에 표시되어 있는 문장 부호로 이루어져 있다. Q, A, Z나 `(back-quote),..

로컬 테스트 설정
개발/안드로이드2024. 5. 23. 18:33로컬 테스트 설정

이전 글에서 이어지는 내용입니다.https://small-stepping.tistory.com/957 종속 항목 삽입이전글에서 이어지는 내용입니다.https://small-stepping.tistory.com/956 UI 레이어와 데이터 레이어 분리레이어를 분리하는 이유코드를 여러 레이어로 분리하면 앱의 확장성이 높아지며 앱이 더 견고해small-stepping.tistory.com   로컬 테스트 설정이전 글들에서 UI 레이어와 데이터 레이어 분리 및 종속 항목 삽입으로 ViewModel에서 REST API 서비스와의 직접적인 상호작용을 추상화하는 저장소 구현에 이르기 까지 MarsPhotos 앱을 리펙터링하였다. 이 과정을 통해 목적이 제한된 작은 코드 조각을 테스트할 수 있다. 기능이 제한된 작은 ..

에러: Didn't find class "androidx.test.runner.AndroidJUnitRunner" on
개발/안드로이드 에러2024. 5. 23. 18:32에러: Didn't find class "androidx.test.runner.AndroidJUnitRunner" on

다음과 같은 에러가 발생하였다. java.lang.RuntimeException: Unable to instantiate instrumentation ComponentInfo{xxx.yyy.test/android.support.test.runner.AndroidJUnitRunner}: java.lang.ClassNotFoundException: Didn't find class "android.support.test.runner.AndroidJUnitRunner" on path: DexPathList[[],nativeLibraryDirectories=[/system/lib, /vendor/lib]] at android.app.ActivityThread.handleBindApplication(A..

에러: Execution failed for task ':app:compileDebugAndroidTestKotlin'.
개발/안드로이드 에러2024. 5. 23. 18:27에러: Execution failed for task ':app:compileDebugAndroidTestKotlin'.

다음과 같은 에러가 발생하였다. org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugKotlin'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:142) at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfVali..

개발/안드로이드 에러2024. 5. 23. 17:44에러: Duplicate class error org.hamcrest.BaseDescription found in modules

Duplicate Class 에러는 동일한 클래스가 두 번 이상 정의되었을 때 발생한다. Duplicate class org.hamcrest.core.IsSame found in modules hamcrest-core-1.1 (org.hamcrest:hamcrest-core:1.1) and junit-4.10 (junit:junit:4.10)Duplicate class org.hamcrest.internal.ArrayIterator found in modules hamcrest-core-1.1 (org.hamcrest:hamcrest-core:1.1) and junit-4.10 (junit:junit:4.10)Duplicate class org.hamcrest.internal.SelfDescribingV..

종속 항목 삽입
개발/안드로이드2024. 5. 23. 16:37종속 항목 삽입

이전글에서 이어지는 내용입니다.https://small-stepping.tistory.com/956 UI 레이어와 데이터 레이어 분리레이어를 분리하는 이유코드를 여러 레이어로 분리하면 앱의 확장성이 높아지며 앱이 더 견고해지고 테스트하기 더 쉬워진다. 또한 경계가 명확히 정의된 여러 레이어를 사용하면 여러 개발자small-stepping.tistory.com   클래스가 작동하려면 다른 클래스의 객체가 필요한 경우가 많다. 클래스에 다른 클래스가 필요한 경우 필요한 클래스를 종속 항목이라고 한다. 다음 예에서 Car 객체는 Engine 객체에 종속된다.필요한 이 객체를 클래스가 가져오는 방법에는 두 가지가 존재한다. 클래스가 필요한 객체 자체를 인스턴스화 하는 것interface Engine { f..

UI 레이어와 데이터 레이어 분리
개발/안드로이드2024. 5. 23. 15:30UI 레이어와 데이터 레이어 분리

레이어를 분리하는 이유코드를 여러 레이어로 분리하면 앱의 확장성이 높아지며 앱이 더 견고해지고 테스트하기 더 쉬워진다. 또한 경계가 명확히 정의된 여러 레이어를 사용하면 여러 개발자가 서로에게 부정적인 영향을 주지 않고 동일한 앱을 더 쉽게 작업할 수 있다. Android의 권장 앱 아키텍처에는 앱에 최소한 UI 레이어와 데이터 레이어가 반드시 있어야 한다고 명시되어 있다.  데이터 레이어 정의데이터 레이어는 앱의 비즈니스 로직과 앱 데이터 소싱 및 저장을 담당한다. 데이터 레이어는 단방향 데이터 흐름 패턴을 사용하여 UI 레이어에 데이터를 노출한다. 데이터는 네트워크 요청, 로컬 데이터베이스, 기기의 파일 등 여러 소스에서 가져올 수 있다. 앱에 데이터 소스가 두 개 이상 있을 수도 있다. 앱이 열리면..

31495번: 그게 무슨 코드니..
백준/문제2024. 5. 23. 01:3031495번: 그게 무슨 코드니..

문제 출처 : https://www.acmicpc.net/problem/31495 언어 : Kotlin 문제 설명 :토카는 문자열을 출력하는 파이썬 코드를 작성하는 것에 자신감이 있었다. 어느 날 Hello, World!를 출력해달라는 요청을 받은 토카는 자신있게 코드를 작성했지만, 큰따옴표를 찍지 않는 치명적인 실수로 인해 컴파일 에러를 받고 말았다!!토카는 이로 인해 자신감을 잃어버려 문자열 출력을 멀리하고 있다. 당신은 토카의 자신감을 회복시켜 주기 위해 문자열을 입력받았을 때 정확한 문자열인지 판독하는 프로그램을 작성하고자 한다. 정확한 문자열은 문자열의 시작과 끝이 큰따옴표로 이루어져 있으며 큰따옴표를 제외한 문자가 포함되어 있는 문자열을 뜻하는 말로, 대표적으로는 "Hello, World!"가..

16499번: 동일한 단어 그룹화하기
백준/문제2024. 5. 23. 01:1116499번: 동일한 단어 그룹화하기

문제 출처 : https://www.acmicpc.net/problem/16499 언어 : Kotlin 문제 설명 :소문자로 이루어진 단어 N개가 주어졌을 때, 단어가 총 최소 몇 개의 그룹으로 이루어져 있는지 구하는 프로그램을 작성하시오. 그룹에 속한 단어는 모두 같은 알파벳으로 이루어져 있어야 하고, 개수도 같아야 한다. 즉, 단어를 구성하는 알파벳의 순서만 달라야 한다. 입력 :첫째 줄에 단어의 개수 N이 주어진다. (2 ≤ N ≤ 100) 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 소문자로만 이루어져 있고, 길이는 10을 넘지 않는다. 출력 :첫째 줄에 그룹의 최소 개수를 출력한다. 제한 사항 :시간 제한 : 2초메모리 제한 : 512MB 입출력 예 :입력출력4 ca..

image