- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12930

 

- 정답 풀이 :

temp = s.split() 에서 temp = s.split(' ')로 바꾸기만 했는데 정답이 떴다. 왜지? 

def solution(s):    
    temp = s.split(' ')    
    
    result = []
    for word in temp :
        change = ''
        for i in range(len(word)):
            if i % 2 == 0 :
                change += word[i].upper()
            else:
                change += word[i].lower()
                
        result.append(change)
    
    answer = ''
    for i in range(len(result)):
        answer += result[i]
        answer += ' '
        
    return answer[:len(answer) - 1]

 

- 정답 풀이 2 :

첫번째 풀이를 더 짧게 만들어봤다 

def solution(s):    
    temp = s.split(' ')    
    
    result = []
    answer = ''
    for word in temp :
        change = ''
        for i in range(len(word)):
            if i % 2 == 0 :
                change += word[i].upper()
            else:
                change += word[i].lower()
                
        answer += change
        answer += ' '

    return answer[:len(answer) - 1]

 

- 정답 풀이 3:

이게 더 짧다 

def solution(s):
    answer = ''
    word = s.lower().split(" ")
    
    for w in word:
        for i, x in enumerate(w) :
            if i % 2== 0 : 
                answer += x.upper()
            else :
                answer += x
        answer += " "
        
    return answer[:len(answer) - 1]

 

- 시도해본 풀이 :

아무래도 빈칸이 꼭 한 칸이 아니라서 생긴 문제인 것 같은데 해결이 안됐다

def solution(s):    
    temp = s.split()    
    
    result = []
    for word in temp :
        change = ''
        for i in range(len(word)):
            if i % 2 == 0 :
                change += word[i].upper()
            else:
                change += word[i].lower()
                
        result.append(change)
    
    answer = ''
    for i in range(len(result)):
        answer += result[i]
        answer += ' '
        
    return answer[:len(answer) - 1]

+ Recent posts