Programmers 87

[Kotlin] Programmers 코딩 기초 트레이닝 Day 19 문자열, 리스트(배열)

세 개의 구분자 class Solution { fun solution(myStr: String): Array = myStr .split(Regex("[abc]")) .filterNot { it.isEmpty() } .ifEmpty { listOf("EMPTY") } .toTypedArray() } 배열의 원소만큼 추가하기 class Solution { fun solution(arr: IntArray): IntArray { var result = intArrayOf() arr.map { num -> repeat(num){ result = result.plus(num) } } return result } } 빈 배열에 추가, 삭제하기 import java.util.Stack class Solution { f..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 18 문자열

x 사이의 개수 class Solution { fun solution(myString: String): IntArray = myString.split("x").map { it.length }.toIntArray() } 문자열 잘라서 정렬하기 class Solution { fun solution(myString: String): Array = myString.split("x").filterNot { it.isEmpty() }.sorted().toTypedArray() } 간단한 식 계산하기 class Solution { fun solution(myString: String): Int{ var sp = myString.split(" ") return when(sp[1]){ "+" -> sp[0].toInt(..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 17 문자열

특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 class Solution { fun solution(myString: String, pat: String): String = myString.slice(0 until myString.length - myString.reversed().indexOf(pat.reversed())) } 문자열이 몇 번 등장하는지 세기 class Solution { fun solution(myString: String, pat: String): Int { var count = 0 for (i in 0 .. myString.length - pat.length) if (myString.slice(i until i + pat.length) == pat) count++ return c..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 16 문자열

대문자로 바꾸기 class Solution { fun solution(myString: String): String = myString.upperCase() } 소문자로 바꾸기 class Solution { fun solution(myString: String): String = myString.lowercase() } 배열에서 문자열 대소문자 변환하기 class Solution { fun solution(strArr: Array): Array = strArr.mapIndexed { index, s -> if (index % 2 == 0) s.toLowerCase() else s.toUpperCase() }.toTypedArray() } A 강조하기 class Solution { fun solution(..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 14 리스트(배열)

홀수 vs 짝수 import kotlin.math.max class Solution { fun solution(num_list: IntArray): Int = max((0 .. num_list.lastIndex step 2).sumOf { num_list[it] }, (1 .. num_list.lastIndex step 2).sumOf { num_list[it] }) } 5명씩 class Solution { fun solution(names: Array): Array = (0 until names.size step 5).map { names[it] }.toTypedArray() } 할 일 목록 class Solution { fun solution(todo_list: Array, finished: Bool..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 13 리스트(배열)

n 번째 원소부터 class Solution { fun solution(num_list: IntArray, n: Int): IntArray = num_list.sliceArray(n-1 .. num_list.lastIndex) } 순서 바꾸기 class Solution { fun solution(num_list: IntArray, n: Int): IntArray = num_list.sliceArray(n .. num_list.lastIndex) + num_list.sliceArray(0 until n) } 왼쪽 오른쪽 class Solution { fun solution(str_list: Array): Array { var answer: Array = arrayOf() val lIndex = str_li..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 12 리스트(배열)

리스트 자르기 class Solution { fun solution(n: Int, slicer: IntArray, num_list: IntArray): IntArray = when(n){ 1 -> num_list.slice(0 .. slicer[1]).toIntArray() 2 -> num_list.slice(slicer[0] until num_list.size).toIntArray() 3 -> num_list.slice(slicer[0] .. slicer[1]).toIntArray() else -> num_list.slice(slicer[0] .. slicer[1] step slicer[2]).toIntArray() } } 첫 번째로 나오는 음수 class Solution { fun solution(n..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 11 리스트(배열)

문자 개수 세기 class Solution { fun solution(my_string: String): IntArray { var answer: IntArray = intArrayOf(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) my_string.forEach { if (it.isLowerCase()) answer[it - 'A' - 6]++ else answer[it - 'A']++ } return answer } } 배열 만들기 1 class Solution { fun solution(n: Int, k: Int): IntArray = (k .. n step ..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 10 문자열

문자열 앞의 n글자 class Solution { fun solution(my_string: String, n: Int): String = my_string.slice(0 until n) } 접두사인지 확인하기 class Solution { fun solution(my_string: String, is_prefix: String): Int = if(my_string.startsWith(is_prefix)) 1 else 0 } 문자열 뒤집기 class Solution { fun solution(my_string: String, s: Int, e: Int): String = my_string.replace(my_string.slice(s .. e), my_string.slice(s .. e).reversed..