본문 바로가기

알고리즘

프로그래머스 - 이상한 문자 만들기

코딩테스트 연습 - 이상한 문자 만들기 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

공백문자도 있고 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 만들어야한다.

 

우선 초기코드

class Solution {
    fun solution(s: String): String {
        var answer = ""
        return answer
    }
}

 

split을 사용하면 단어를 단위단위로 끊어줄 수 있다고 한다. 근데 다시 이걸 합쳐야 하니 합칠때 쓰는 단어는 joinToString

이라는 걸 사용한다.

힌트보기 들어갔더니 index를 잘 활용해야 한다던데 찾아보니 짝수 홀수를 판별하기 위해 mapIndexed를 사용하고 

이 숫자가 2로 나누어 떨어지면 (나머지가 0이 되면) 짝수 이므로 여기에 toUpperCase, 나머지 else는 toLowerCase를 입력한다. 

근데 이상태로는 또 오류가 나고 마지막에 joinToString("") 을 더 붙여야 결과가 나온다고 한다...

 

완성된 코드

class Solution {
    fun solution(s: String): String =
        s.split(" ").joinToString(" ") {
            it.mapIndexed { i, s ->
                when (i % 2) {
                    0 -> s.toUpperCase()
                    else -> s.toLowerCase()
                }
            }.joinToString("")
        }
}

 

오늘 참고한 블로그 주소는 여기이다...

[Level 1] 프로그래머스 이상한 문자 만들기 코틀린 풀이 - Kinetic's BLOG

 

Kinetic's BLOG

키네틱의 블로그입니다

kinetic.moe