본문 바로가기

전체 글

(96)
[프로그래머스] 디펜스 게임 Lv.2 with Kotlin 문제 n에 현재 나의 병력의 수, enemy 배열에 각 라운드별 적군의 수가 주어진다. 적군의 수만큼 나의 병력을 소모하여 적을 막을 수 있다. 한 라운드를 병력 소모없이 넘어갈 수 있는 무적권 k가 주어진다. 이때, 무적권을 적절히 사용하여 막을 수 있는 최대 라운드를 구하여라 풀이 과정 1. 무적권을 사용하지 않고 가능한 라운드까지 진행 2. 각 라운드별 적군의 수를 저장 -> Heap 자료구조 / Kotlin에서는 PriorityQueue 사용 3. 나의 병력으로 넘어갈 수 없을 때, 현재 적군의 병력과 이전 적군 중 가장 많은 적군을 비교 4. 더 큰 적군에 무적권을 사용 4-1. 현재 적군이 더 많다면 라운드만 증가 4-2 이전 적군이 더 많다면 현재 n에 이전 적군을 더하고 배열에서 삭제, 현..
[오류] Firebase SDK 동기화 오류 Firebase와 안드로이드 연결 셋팅 중 안드로이드에서 Gradle 추가하는 과정에서 다음과 같은 오류가 났다. Unable to find method ''com.android.build.api.variant.SourceDirectories$Flat com.android.build.api.variant.Sources.getByName(java.lang.String)'' 'com.android.build.api.variant.SourceDirectories$Flat com.android.build.api.variant.Sources.getByName(java.lang.String)' Gradle's dependency cache may be corrupt (this sometimes occurs afte..
[프로그래머스] 리코쳇 로봇 LV.2 with Kotlin 문제 주어진 2차원 배열에서 R의 위치에 있는 로봇에 G까지 도달하는데 걸리는 최소 횟수 구하기 조건 1. 로봇은 상하좌우만 움직일 수 있다. 2. D는 벽 3. 막히는 구간까지 미끄러지듯 쭉 가야함 4. 목적지에 도달할 수 없다면 -1 반환 ...D..R .D.G... ....D.D D....D. ..D.... 풀이 과정 1. 이동했던 방향으로 다시 돌아가지 않도록 하기 2. 방문 했던 좌표는 pass 첫번째 시도 (DFS) 이동하는 모든 곳을 확인 테스트는 통과했지만 모든 경우의 수를 확인하는 방법으로 시간 초과 class Solution { val dx = arrayOf(1, -1, 0, 0) val dy = arrayOf(0, 0, -1, 1) var answer: Int = 0 fun move(..