[Python] 이상한 문자 만들기
자료구조 & 알고리즘ㅤ/ㅤ프로그래머스

[Python] 이상한 문자 만들기

문제

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

 

핵심스킬

  • 리스트 -> 원소 -> 알파벳으로 쪼개며 for 문 돌리기

 

풀이

def solution(s):
    s = s.split(" ")
    answer = ""
    for words in s:
    idx = 0
        for char in words:
            if idx % 2 == 0: 
                answer += char.upper()
            else:
                answer += char.lower()
            idx += 1
        answer += " "
        
    return answer[:-1]
  • 오답) split( )로 했을 때 정확도 31/100 나오며 틀렸다.
    • split() 과 split(" ") 차이점이 무엇일까?

 

Takeaways

split( )

  • 앞, 뒤 공백을 제거한다.
    • (Eg) "  Hello World  " 를 split()으로 리스트로 변환하면 ['Hello', 'World']가 된다.
  • 여러 칸의 공백을 한 공백으로 취급한다.

split(" ")

  • 말 그대로 모든 한 칸의 공백을 기준으로 한다

 

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/12930