21. 이상한 문자 만들기
문제 설명
문자열의 짝수번재 알파벳은 대문자로, 홀수번째는 소문자로 변환.
Inputs
Variable Name | type | meaning |
---|---|---|
s | String | English words in all lower case |
output
return String // converted string
Conditions
- 변환시 각 단어의 홀짝 인덱스로 처리해야한다.
- 첫번째 글자는 0번째인데 이를 짝수로 처리한다.
Test cases
s | return |
---|---|
“try hello world” | “TrY HeLlO WoRlD” |
Solution
range로 1부터 값을 생성한 뒤에 divisor인지 확인해서 filter 하고 sum
했는데 안된다.
질문을 좀 읽어보니 뒤에 blankspace가 뒤에 주루룩 붙은 경우땜에 생기는 문제란다. 뒤에 붙는 경우는 지우게끔
.split(" ", -1)
뒤에 -1을 붙인다.
def solution(s: String): String = {
return s.split(" ", -1)
.map(word =>
word.zipWithIndex.map{case (char, idx) => if (idx%2 == 0) char.toUpper else char.toLower}.mkString("")
)
.mkString(" ")
}
Study from Implementation
- string과 char의 대소문자화가 다르다
- string
- toUpperCase()
- toLowerCase()
- char
- toUpper
- toLower
- string