본문 바로가기

알고리즘

릿코드 2785. Sort Vowels in a String 코틀린

그냥 문자열을 쓸수있냐를 물어보는문제

 

모음리스트를 만들고,

입력스트링의 인덱스와 입력스트링의 모음을 저장할 리스트를 만든다음

입력스트링에 for돌려서 인덱스와 스트링 추출(편의상 char로 뽑음)

모음리스트 정렬한뒤에 스트링빌더로 인덱스의 위치에 해당값을 리플레이스

리턴

class Solution {
    fun sortVowels(s: String): String {
        val indexList = mutableListOf<Int>()
        val sortVowelList = mutableListOf<Char>()
        val vowelList= listOf<Char>('a','e','i','o','u','A','E','I','O','U')
        for((index,char) in s.withIndex()){
            if (char in vowelList){
                indexList.add(index)
                sortVowelList.add(char)
            }
        }
        sortVowelList.sort()
        val sb=StringBuilder(s)
        for ((index,j) in indexList.withIndex()){
            sb.also { it.setCharAt(j,sortVowelList[index]) }
        }

        return sb.toString()
    }
}