Python/Coding Test

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

gangee 2023. 6. 22. 16:52

목차

    728x90
    반응형

    프로그래머스 코딩테스트 1단계 : 이상한 문자 만들기

    문제 설명

    문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
    입출력 예
    s = 'tyr hello world'
    return = 'TrY HeLlO WoRlD'

    문제 풀이

    • 문자열의 인덱스를 확인하기 위한 idx와 새로 생성한 문자열을 저장할 answer 생성
    • 반복문을 통해 s 문자열의 문자를 하나씩 꺼내기
    • 꺼내온 문자열이 공백인지 아닌지 구분하는 조건문 생성
    • 공백일 경우, answer에 공백을 추가해주고 idx 초기화 해주기
    • 공백이 아닐 경우, idx가 짝수인지 아닌지 확인하는 구분하는 조건문 생성
    • 짝수일 경우, upper함수를 통해 대문자로 변환해서 answer에 저장
    • 홀수일 경우, lower함수를 통해 소문자로 변환해서 answer에 저장
    • 문자를 대문자 혹은 소문자로 변환하고 나면 idx에 1 더해서 다음 문자로 넘어갈 수 있게 하기

    정답 코드

    def solution(s):
        idx=0
        answer = ''
    
        for i in s:  # 문자열에서 문자 하나씩 꺼내기
    
            if i == ' ': # 문자열에서 공백일 경우 공백추가하고 인덱스 초기화
                answer += ' '
                idx=0
            else:
    
                if idx%2 == 0:  # 짝수번째 일때 대문자로 변환
                    answer += i.upper()
                else:
                    answer += i.lower()
                idx += 1
    
        return answer
    * 이 문제는 프로그래머스 코딩테스트 연습 1단계 문제입니다.
    728x90
    반응형

    'Python > Coding Test' 카테고리의 다른 글

    [Coding Test] 올바른 괄호  (0) 2023.06.28
    [Coding Test] JadenCase 문자열 만들기  (0) 2023.06.27
    [Coding Test] 내적  (0) 2023.05.31
    [Coding Test] 최댓값과 최솟값  (0) 2023.05.28
    [Coding Test] 예산  (0) 2023.05.27