코트카타 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 ..
전체 일지 확인 화면 구현하기 라우팅 설정 좌측 버튼을 통해 전체 일지를 확인할 수 있는 페이지로 넘어가게 할 것이다. CommonOutlineButton( width: 65, height: 18, onPressed: () { Navigator.pushNamed(context, NoteScreen.routeName); }, text: '전체 일지 확인', textStyle: TextStyles.caption2.copyWith(height: 0.01))버튼을 눌렀을 때 해당 화면으로 라우팅 하도록 설정 데이터 불러오기import 'package:escape_anchovy/src/util/shared_preferences_util.dart';import 'package:flutter/material.d..
코드카타 3진법 뒤집기 문제 정답class Solution { fun solution(n: Int): Int { return n.toString(3).reversed().toInt(3) }}n을 3진수 문자열로 변환해 뒤집고 다시 10진수 정수로 변환한다. 진수변환// 10진수 -> n진수n.toString(n)// n진수 -> 10진수n.toInt(n)문자열 변환 함수에서 인자값(int)을 주면 10진수를 n진수로 변환해주고정수 변환 함수에서 인자값(int)를 주면 n진수를 10진수로 변환해준다. BMI 계산기 특정 위젯을 변수에 저장하기val heightEditText = findViewById(R.id.et_height)val weightEditText = findVie..