
코트카타 두 개 뽑아서 더하기 문제 정답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문을 ..

개요 모종의 이유로 운동을 오랫동안 하지 않게 된다면수행능력이 퇴하하게 되고 이는 의욕상실 이어지게 된다. 몸을 만드려면 꾸준하게 운동을 하여점진적 과부화의 원리를 적용해 수행능력을 늘려나가야 한다. 그런 의미에서 운동을 하지 않게 될 때 나 자신에게 경각심을 주기 위해일정 시간이 지나면 일지를 초기화시키는 타이머를 홈화면에 배치할 것이다. 원래는 일지 초기화까지의 시간을 3일로 하려고 했는데여행을 가거나 아플 때도 있다는 걸 고려해서 1주일로 하기로 했다. 운동기록 초기화 타이머 구현 일지 데이터에 필요한 키값 추가 _controller.addData({ 'time': DateTime.now().toString(), 'day': _controller.dataList.length + 1, 'ex..

코트카타 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가 없다는 이유로 계속해서 회사를 다니지 못하게 되었고,회사를 나오기 전 회사 선배님들께 어떻게 하면 좋을지 물어봤는데 국비지원을 추천해주셨습니다. 현재 무직백수고졸상태인데 취직을 하기엔 제 실력이 부족하다고 느껴져서 막막했던 찰나국비지원을 한 번 해볼까라는 생각이 들었고 플러터를 국비..

코트카타 문자열 내 마음대로 정렬하기 문제 정답class Solution { fun solution(strings: Array, n: Int): List { return strings.sortedWith(compareBy({ it[n] }, { it })) }}'sortedWith(compareBy())' 함수를 사용하면 쉽게 풀 수 있는 문제이다. sortedWith(compareBy())strings.sortedWith(compareBy({n}))해당 함수는 n의 값을 기준으로 strings(List)의 요소들을 정렬한다. strings.sortedWith(compareBy({ it[n] }, { it }))compareBy는 다수의 선택자를 인자로 활용할 수 있다. 해당 ..

코드카타 시저 암호 문제 정답class Solution { fun solution(s: String, n: Int): String { return s.map { c -> when { c.isLowerCase() -> rotateChar(c, n, 'a') c.isUpperCase() -> rotateChar(c, n, 'A') else -> c } }.joinToString("") } fun rotateChar(c: Char, n: Int, base: Char): Char { return ((c - base + n) % 26 + ..

코드카타 크기가 작은 부분 문자열 문제 정답class Solution { fun solution(t: String, p: String): Int { val arr = arrayListOf() for (i in 0..(t.length - p.length + 1)) { if (i + p.length - 1 나같은 경우는 빈 배열을 하나 선언해 거기다 부분 문자열을 추가하고그 배열의 요소를 하나하나 검사하는 방식으로 풀었다. 다른 풀이class Solution { fun solution(t: String, p: String): Int { // 7 3 return (0..t.length - p.length) .map{ ..

코드카타 이상한 문자 만들기 문제 정답class Solution { fun solution(s: String): String { val words = s.split(" ").map { w -> w.mapIndexed { i, c -> if (i % 2 == 0) c.uppercaseChar() else c.lowercaseChar() }.joinToString("") } return words.joinToString(" ") }}map과 mapIndexed 함수, joinToString()을 적절히 활용하면 풀 수 있는 문제이다. mapIndexed 함수val ..