[A&I Code Camp] Day15 (split)

Hood·2024년 9월 27일

A&I Code Camp

목록 보기
15/38
post-thumbnail

✍   Kotlin을 사용한 프로그래머스 Lv. 0 문제 풀기

소속중인 A&I 동아리에서 코딩역량을 강화하고자
코딩캠프를 진행하며 작성한 포스트입니다.
주말을 제외한 모든 날에 하루 5문제씩
프로그래머스 Lv.0 문제에 대한 풀이입니다.
해당 포스트는 kotlin을 기반으로 작성합니다.


5명씩

해당 문제는 5명씩 짝을지어 그 리스트의 첫 사람의 이름을 가져와야 한다.
그래서 0부터 name 배열의 size를 가져와 step 5로 두고 5의 배수에 해당하는 이름을
list안에 추가해 주어 풀었다.

class Solution {
    fun solution(names: Array<String>): Array<String> {
        val list = mutableListOf<String>()
        for(x in 0 until names.size step 5){
            list.add(names[x])
        }
        return list.toTypedArray()
    }
}

공백으로 구분하기 1

이 문제는 공백으로 구분하기 2의 더 쉬운 문제로 .split(" ")을 통해 공백으로 구분하여
그것이 List의 String형태로 반환되니 .toTypeArray() 를 통해 String Array로 변환해 주었다.

  • split() : 문자열을 괄호( ) 안 특정 문자를 기준으로 자를 때 사용함.
class Solution {
    fun solution(my_string: String): Array<String> {
        val answer = my_string.split(" ").toTypedArray()
        return answer
    }
}

가위 바위 보

가위 바위 보를 숫자 2 0 5로 두어 이기는 문자열을 반환해야 한다.
그래서 일단 rsp의 문자열을 List로 두고 그것을 반복문으로 인덱스를 가져와
그것이 2면 0을 5면 2를 아니면 0일테니 5를 result안에 추가해주는 식으로 풀었다.

class Solution {
    fun solution(rsp: String): String {
        val answer = rsp.toMutableList()
        var result : String = ""
        for(x in answer.indices){
            if (answer[x] == '2'){
                result += '0'
            } else if (answer[x] == '5'){
                result += '2'
            } else{
                result += '5'
            }
        }
        return result
    }
}

A 강조하기

이 문제는 대소문자 구분없는 문자열을 준다. 그래서 처음에 .lowercase를 통해 모두 소문자로 만들고
.replace를 통해 'a'면 'A' 대문자로 바꾸어 주었다.

class Solution {
    fun solution(myString: String): String {
        return myString.lowercase().replace('a', 'A')
    }
}

특정한 문자를 대문자로 바꾸기

이 문제도 마찬가지로 소문자 문자열을 주고 alp를 강조해야 한다.
그래서 alp를 앞에 두고 .uppercase()를 통해 해당 문자열을 강조했다.

class Solution {
    fun solution(my_string: String, alp: String): String {
        return my_string.replace(alp, alp.uppercase())
    }
}

📌결론

한 번 리스트와 배열을 변환하는 문제를 풀어보니 빠르게 풀 수 있었다.

profile
달을 향해 쏴라, 빗나가도 별이 될 테니 👊

0개의 댓글