코드카타 2016년 문제 정답class Solution { fun solution(a: Int, b: Int): String { val m = listOf(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) val w = listOf("FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU") var d = m.slice(0..a - 2).sum() + b - 1 return w[d % 7] }}각 달의 일수와 각 요일의 문자열값을 요소로 가지는 2개의 리스트를 선언한다음,주어진 수만큼 각 달의 일수를 더한 값을 이용해 해당하는 요일을 출력한다. val m = listOf(31, 2..
코트카타 명예의 전당 (1) 문제 정답class Solution { fun solution(k: Int, score: IntArray): IntArray { var res = IntArray(score.size) var kList = mutableListOf() for (i in score.indices) { kList.add(score[i]) kList.sortDescending() if (kList.size > k) kList.removeAt(k) res[i] = kList.last() } return res }}모든 점수를 포함하여 상위 k개의 점..
코드카타 콜라 문제 문제 문제가 좀 많이 길긴 한데 알고보면 그렇게 어려운 문제는 아니다. 정답class Solution { fun solution(a: Int, b: Int, n: Int): Int { var res: Int = 0 var num: Int = n while (num >= a) { val gb = num / a * b res += gb num = gb + num % a } return res }}while문 이용해서 받을 수 있는 총 콜라의 개수를 계산한다. 변수선언var res: Int = 0var num: Int = n받을 수 있는 총 콜라의 개수..
코드카타 푸드파이트 대회 문제 문제가 설명이 좀 길어서 테스트케이스를 보며 뭘 구현해야 되는지 정리해보겠다. 테스트케이스 확인 저렇게 문제가 답도 없이 길 때는 테스트케이스를 통해 코드에서 무엇을 구현해야될지 감을 잡으면 된다. 첫번째 테스트케이스를 통해 설명을 하자면 food 배열인 [1, 3, 4, 6]에서1은 물, 3은 첫번째 음식, 4는 두번째 음식, 6은 세번째 음식에 해당한다. 두 사람이 먹을 n번째 음식들을 각각 공평하게 2로 나눈 다음 n을 그 수만큼 반복해서 result에 더하고,"왼쪽의 선수가 먹을 음식의 배치 + 0 + 오른쪽 선수가 먹을 음식의 배치" 를 반환하면 된다. 정답class Solution { fun solution(food: IntArray): String {..
코드카타 가장 가까운 글자 문제 정답class Solution { fun solution(s: String): IntArray { var res = IntArray(s.length) { -1 } var arr = s.toCharArray() var sMap = mutableMapOf() for (i in arr.indices) { if (sMap.containsKey(arr[i])) { res[i] = i - sMap[arr[i]]!! } sMap[arr[i]] = i } return res }}res의 모든 요소를 -1로 초기..
코트카타 두 개 뽑아서 더하기 문제 정답class Solution { fun solution(numbers: IntArray): IntArray { val resSet = sortedSetOf() for (i in numbers.indices) { for (j in i + 1 until numbers.size) { resSet.add(numbers[i] + numbers[j]) } } return resSet.toIntArray() }}사전캠프 10일차에 풀었던 '삼총사' 문제의 로직을 활용해서 풀 수 있는 문제이다. 주어진 배열에서 수를 2개씩 뽑아야 하므로 2중 for문을 ..
코트카타 K번째수 문제 정답class Solution { fun solution(array: IntArray, commands: Array): IntArray { val res = arrayListOf() for (command in commands) { val i = command[0] - 1 val j = command[1] - 1 val k = command[2] - 1 res.add(array.slice(i..j).sorted()[k]) } return res.toIntArray() }}arrayListOf와 for문을 통해 초기화한 배열요소들을 이용해서 풀..
Q. Android 트랙에 참여한 계기저는 어렸을 때 플레이스토어의 어플이나 게임들을 보고 이런 것들을 한 번 만들어보고 싶다라고 생각을 했었습니다.그래서 부산소프트웨어마이스터고를 진학해 소프트웨어개발과로 졸업을 하였고 그 과정에서 3학년 말에 3개월간 현장실습을 했는데 그 떄 플러터를 접했었고, 짧게나마 개발경험을 해보면서그 때 앱 개발에 흥미를 느끼게 되어 앱 개발자를 하기로 결정했습니다. 현장실습에서 채용 T.O가 없다는 이유로 계속해서 회사를 다니지 못하게 되었고,회사를 나오기 전 회사 선배님들께 어떻게 하면 좋을지 물어봤는데 국비지원을 추천해주셨습니다. 현재 무직백수고졸상태인데 취직을 하기엔 제 실력이 부족하다고 느껴져서 막막했던 찰나국비지원을 한 번 해볼까라는 생각이 들었고 플러터를 국비..