728x90

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

출처 : 프로그래머스

 

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

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

programmers.co.kr


def solution(s):
    answer = ''
    i = 0 #각 단어 인덱스
    for ch in s:
        if ch == ' ': # 빈칸 체크
            answer += ch
            i = 0 # 빈칸이면 계속 단어 인덱스 0
        else: # 빈칸 아니면
            if i%2 == 0:
                answer += ch.upper()
            else:
                answer += ch.lower()
            i+= 1
    return answer
def solution(s):
    answer = ''
    for word in s.split(" "):
        n = ''
        for i in range(len(word)):
            if i%2 == 0:
                n += word[i].upper()
            else:
                n += word[i].lower()
        answer += (n+" ")
    return answer[:-1]

풀이

두 방법으로 풀었는데 비슷하다.

이 문제에서 주의할 점은 단어 사이의 공백이 하나만 있다는 것이 아니라는 점이다.

하나 이상의 공백을 갖고 있다.

그래서 모든 공백을 없애주고 하나의 공백으로만 문자열을 이어 붙이며 새로운 단어일 때 인덱스가 다시 0부터 시작하며 따져줘야 한다.

+ Recent posts