관리 메뉴

솜씨좋은장씨

[Programmers] 이상한 문자 만들기 (Python) 본문

Programming/코딩 1일 1문제

[Programmers] 이상한 문자 만들기 (Python)

솜씨좋은장씨 2020. 12. 19. 14:22
728x90
반응형

1일 1문제 279일차의 문제는!

프로그래머스의 이상한 문자 만들기 입니다.

 

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

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

programmers.co.kr

첫 번째 시도

def solution(s):
    s_list = list(s)
    
    for i in range(len(s_list)):
        if i % 2 == 0:
            s_list[i] = s_list[i].upper()
        elif i % 2 == 1:
            s_list[i] = s_list[i].lower()
            
    answer = "".join(s_list)
    return answer

이 문제는 짝수 인덱스의 문자를 대문자로 홀수 인덱스의 문자를 소문자로 바꾸어주는 문제입니다.

그런데 전체 문자열에 대한 인덱스 기준이 아니라 공백기준으로 잘라진 단어의 기준 이었습니다.

그래서 첫번째 시도는 실패! 역시 문제를 잘 읽어야 합니다

 

Solution

def solution(s):
    s_split = s.split(" ")
    
    for k in range(len(s_split)):
        s_list = list(s_split[k])

        for i in range(len(s_list)):
            if i % 2 == 0:
                s_list[i] = s_list[i].upper()
            elif i % 2 == 1:
                s_list[i] = s_list[i].lower()
        s_split[k] = "".join(s_list)
        
    answer = " ".join(s_split)
    
    return answer

그래서 공백을 기준으로 나눈뒤에 각 문자열에서 각 문자열의 인덱스를 기준으로 진행했습니다.

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments