Lv1. 이상한 문자 만들기

Hello·2022년 7월 23일
0

코딩테스트 연습 > 이상한 문자 만들기

1. 풀이 설명

1) 입력받은 s 를 띄어쓰기 기준으로 split 을 한 후: s.split(" ").map {
2) split 된 단어들에 대해 짝수 번째는 대문자, 홀수 번째는 소문자로 변환하다: str.mapIndexed { idx, c, }.joinToString("")
3) 변환된 단어들을 합친다: joinToString(" ")

2. 나의 풀이

def solution(s):
    answer = ''
    for word in s.split(' '):
        for idx in range(len(word)):
            if idx%2 == 0:
                answer += word[idx].upper()
            else:
                answer += word[idx].lower()
        answer += ' '
    return answer[0:-1]
kotlin
fun solution(s: String): String =
	s.split(" ").map { word ->
    	word.mapIndexed { idx, c ->
        	if(idx%2==0) c.toUpperCase() else c.toLowerCase()
        }.joinToString("")
	}.joinToString(" ")

3. 배운점

  1. python에서 대문자/소문자로 변경: str.upper(), str.lower()
  2. 문제를 잘 이해해야한다.
  • 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 라는 문장이 헷갈려서
    python으로 풀 때 계속 몇 가지 테스트 케이스의 실패를 잡느라 시간이 걸렸다.
    s 에 포함된 공백은 제거하면 안 되고, 그대로 두어야 한다.
    ```
    입력값 〉"try hello world"
    기댓값 〉"TrY HeLlO WoRlD"
    
    입력값 〉"try    HelLo     "
    기댓값 〉"TrY    HeLlO     "
    ```
  1. python 오른쪽 공백 전체 제거: str.rstrip()
    마지막 문자 제외: str[:-1]
profile
안녕하세요 :)

0개의 댓글