[프로그래머스] 코딩테스트 연습 > 코딩 기초 트레이닝 > 특정한 문자를 대문자로 바꾸기

2024. 12. 17. 10:00PYTHON

영소문자로 이루어진 문자열 my_string과 영소문자 1글자로 이루어진 문자열 alp가 매개변수로 주어질 때, my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

 

1 ≤ my_string의 길이 ≤ 1,000

 

my_string alp result
"programmers" "p" "Programmers"
"lowercase" "x" "lowercase"

 

첫번째 풀이 - 오답

def solution(my_string, alp):
    for i in my_string:
        if i == alp:
            my_string += i.upper()
        else:
            my_string += i
    return my_string

 

문자열을 새로 생성하지 않고 기존 문자열에 덮어 쓴 경우,

lowercase의 경우에서 lowercaselowercase 로 중복되는 결과가 나왔다.

 

수정 된 풀이

def solution(my_string, alp):
    result = ''
    for i in my_string:
        if i == alp:
            result += i.upper()
        else:
            result += i
    return result