[Coading Test] 이상한 문자 만들기

level : 1

Coading Test
Author

신호연

Published

January 9, 2023

문제

나의 풀이

def solution(s):
    words = s.split(" ") #스플릿 함수 헷갈리는 부분이 있었음 - 정리
    answer = ""
    for wd in words:
        for idx,chr in enumerate(wd):
            print(idx,chr)
            if idx % 2 == 0:
                chr = chr.upper()
            else:
                chr = chr.lower()
            answer += chr
        answer+= " "
    return answer[:-1]

split 메서드(함수)

t="sdsa  sd"
help(t.split)
Help on built-in function split:

split(sep=None, maxsplit=-1) method of builtins.str instance
    Return a list of the words in the string, using sep as the delimiter string.
    
    sep
      The delimiter according which to split the string.
      None (the default value) means split according to any whitespace,
      and discard empty strings from the result.
    maxsplit
      Maximum number of splits to do.
      -1 (the default value) means no limit.

string객체의 인스턴스 즉,문자열에 대해서만 사용할 수 있는 메서드
sep파라미터에 전달한 인수를 구분자로 사용하여 문자열안에 있는 단어들을 가져옴. 가져온 단어들은 리스트의 원소가 되어 반환됨
Parameter
- sep - …

Return - list[word1,word2,…] (구분자를 통하여 구분된 단어들,기본값은 공백(space))

예시

#문자열 내에 구분기준이 없는 경우?
#sep = " "으로 기본값으로 설정되어 있음. 공백이 없으므로 그냥 문자열을 리스트에 넣어서 반환
_t = "abcde"
answer = _t.split()
print(answer)
['abcde']
#문자열 내에 구분기준이 있는 경우?
_t = "ab cd esda dg"
answer = _t.split()
print(answer)
['ab', 'cd', 'esda', 'dg']
_t = "abtcdtesdatdg"
answer = _t.split("t")
print(answer)
['ab', 'cd', 'esda', 'dg']
_t = "ab;;cd;;esd;;atdg"
answer = _t.split(";;")
print(answer)
['ab', 'cd', 'esd', 'atdg']