본문 바로가기
코딩테스트

[프로그래머스] 배열에서 문자열 대소문자 변환하기

by liz_devel 2025. 1. 20.

🗒 문제


📝 나의 문제풀이

class Solution {
    fun solution(strArr: Array<String>): Array<String> {
      return strArr.toList().mapIndexed{ i, v ->
              if(i % 2 == 0) v.lowercase() else v.uppercase()
         }.toTypedArray()
    }
}

 


📝 다른 사람의 문제 풀이

다른 사람의 문제 풀이는 좋아요 수가 높은 기준으로 첨부하였습니다.

class Solution {
    fun solution(strArr: Array<String>) = strArr.indices.map { if (it % 2 == 0) strArr[it].lowercase() else strArr[it].uppercase() }
}

🖊 문제 풀이 시 알면 좋을 것

mapIndexed

  • 컬렉션의 각 요소와 해당 인덱스를 함께 처리하며 변환 작업을 수행할 수 있는 함수입니다.
  • 반환값: List<R> 타입으로 변환된 요소를 담은 리스트를 반환합니다.
val strArr = arrayOf("a", "b", "c")
val result = strArr.mapIndexed { index, value ->
    "$index:$value"
}.toTypedArray() // 배열로 변환
println(result.joinToString()) // 0:a, 1:b, 2:c

 

indices

  • 배열의 인덱스 범위를 제공하는 속성입니다.
val arr = arrayOf("a", "b", "c")
for (i in arr.indices) {
    println(arr[i]) // a, b, c
}

 

toTypedArray()

 

  • toTypedArray()는 리스트 (List)를 배열 (Array)로 변환하는 코틀린 확장 함수입니다.
  • 반환값은 Array<T> 형태입니다.
fun main() {
    val list = listOf("apple", "banana", "cherry")
    val array: Array<String> = list.toTypedArray()
}
반응형