코딩 테스트 연습 - 이상한 문자 만들기(프로그래머스 레벨1)

다용도리모콘·2020년 4월 12일
0

CodingTest

목록 보기
12/34

01. 이해

문자열을 받아 각 단어의 짝수번째는 대문자 홀수번째는 소문자로 변환한
문자열을 리턴한다.
문자열 전체 인덱스가 아니라 단어별 인덱스를 기주으로 대소문자 변환을 진행한다.
0번째는 짝수이다
   

02. 계획

filter 함수를 사용하면 대소문자 변환 자체는 어렵지 않을듯.
공백이 나올 때마다 인덱스를 초기화 해주는 작업을 진행.

03. 실행

fun solution(s: String): String {

    var checkEven = true
    var result = ""
    s.forEach {

        checkEven = if (it == ' '){
            result = "$result "
            true
        }else {

            result += if (checkEven){
                it.toUpperCase()
            }else {
                it.toLowerCase()
            }
            checkEven.not()
        }


    }

    return result

}

04. 회고

풀긴 풀었는데 좀더 스마트한 방법이 있었을 것 같은 느낌.
확실히 회사 다니면서 풀려니까 의지가 필요하다.
인자로 받은 string 자체를 변환해서 바로 리턴 시켜주고 싶었는데 immutable 해서 실패했다.
toUpperCase나 toLowerCase는 문자 자체를 변환 시켜주는게 아니라 변환된 문자를 반환하는
메소드라 어려움이 있었음.

0개의 댓글