코드카타 문자열 내림차순으로 배치하기 문제 정답class Solution { fun solution(s: String): String { return s.toCharArray().sortedDescending().joinToString("") }}배열의 요소를 내림차순으로 정렬하는 함수 sortedDescending()을 활용하면 된다. 부족한 금액 계산하기 문제 정답class Solution { fun solution(price: Int, money: Int, count: Int): Long { var m: Long = money.toLong() for (i in 1..count) { m -= price * i ..
데이터 추가 및 삭제하기 SharedPreference 함수 추가하기 // 키값을 통해 Json 리스트 불러오기 static List> getJsonList(String key) { List? dataList = _prefs?.getStringList(key); return dataList ?.map((value) => json.decode(value) as Map) .toList() ?? []; } // Json 리스트 키에 저장하기 static Future setJsonList(String key, List> list) { List dataList = list.map((map) => json.encode(map)).toList(); ..
코드카타 가운데 글자 가져오기 문제 정답class Solution { fun solution(s: String): String { val n = s.length if (n % 2 != 0) return s[n / 2].toString(); return s[n / 2 - 1].toString() + s[n / 2].toString(); }}정수의 나눗셈은 소수점 이하를 버린 결과를 반환한다. (5 / 2 > 2) s[n]의 자료형은 char에 해당하고 solution함수는 String형을 반환하므로 반환값을 String형으로 다 바꿔줘야 한다. // 짝수 길이의 문자열에서 중간 두 문자 추출s.substring(n / 2 - 1, n / 2 + 1)subS..
코드카타 음양 더하기 문제 정답class Solution { fun solution(absolutes: IntArray, signs: BooleanArray): Int { var res: Int = 0 for(i in 0 until absolutes.size){ if(signs[i]) res += absolutes[i] else res += absolutes[i] * -1 } return res }}for문 돌려서 해결하며 되는 문제이다. 0 until absolutes.size배열은 0번지 부터 시작하므로 (0 ~ 배열크기 - 1)의 범위로 for문을 돌려야한다. 핸드폰 번호 가리기 문제 정답c..
코드카타 하샤드 수 문제 정답class Solution { fun solution(x: Int): Boolean { val sum = x.toString().map { it - '0' }.sum() return x % sum == 0 }}x를 문자열로 변환한 뒤 각 자릿수를 더한 값인 sum을 선언한다.x가 sum으로 나누어 떨어지는지를 판별하는 조건식을 반환한다. Boolean타입을 반환하는 함수에서 조건식을 반환하게 되면조건식이 참일 때는 true, 아닐 때는 false를 반환하게 된다. 두 정수 사이의 합 문제 정답class Solution { fun solution(a: Int, b: Int): Long { var n: Long = 0 ..
코드카타 나머지가 1이 되는 수 찾기 문제 정답class Solution { fun solution(n: Int): Int { for(i in 2..n){ if(n % i == 1) return i; } return 1; }}나머지가 1이 되도록 하는 가장 작은 자연수를 구해야하므로2 ~ n의 범위를 for문을 돌려 부터 시작 조건에 맞는 값을 반환하도록 한다. 전날에는 if문에도 중괄호를 씌웠는데 다른 언어와 마찬가지로if문의 중괄호에 들어가는 값이 1줄이라면 저런식으로 줄여서 쓸 수 있다. 컴파일러 조건 만족 return 1 은 이론적으로 도달할 수 없는 코드이지만모든 경로의 반환값을 요구하는 코틀린 컴파일러의 조건을 만족시키기 ..
코드카타 각도기 문제 정답class Solution { fun solution(angle: Int): Int { return when { angle 1 // 예각 angle == 90 -> 2 // 직각 angle 3 // 둔각 angle == 180 -> 4 // 평각 else -> -1 // 180도를 초과하는 경우는 정의되지 않음 } }}when 함수를 이용해 angle값에 따라문제조건에 맞는 숫자를 반환하도록 했다. when 함수when (변수) { case1 -> 동작1 case2 -> 동작2 else -> 동작3 }when..
코드카타 두 수의 차 문제 정답class Solution { fun solution(num1: Int, num2: Int): Int { return num1 - num2 }}Solution클래스의 solution(num1: Int, num2: Int)함수는두 정수 num1과 num2를 매개변수로 받아 num1에서 num2를 빼는 연산을 수행하고 그 결과를 반환한다. 두수의 곱 문제 정답class Solution { fun solution(num1: Int, num2: Int): Int { return num1 * num2 }}두수의 곱을 반환하면 된다. 몫 구하기 문제 정답class Solution { fun solution(num1: In..