본문 바로가기

[프로그래머스 Lv.0] 대문자와 소문자

@doyiya242025. 8. 8. 17:49

대문자와 소문자

 

문제 설명

문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.

 

제한사항

  • 1 ≤ my_string의 길이 ≤ 1,000
  • my_string은 영어 대문자와 소문자로만 구성되어 있습니다

입출력 예 설명

입출력 예 #1

  • 소문자는 대문자로 대문자는 소문자로 바꾼 "CCCccc"를 return합니다.

입출력 예 #2

  • 소문자는 대문자로 대문자는 소문자로 바꾼 "ABcDeFGHij"를 return합니다.

 

내가 작성한 코드  

#리스트 컴프리헨션으로 가능
def solution(my_string):
    answer = []
    for char in my_string:
        if char.islower() :
            answer.append(char.upper()) 
        elif char.isupper() :
            answer.append(char.lower()) 
    return ''.join(answer)

# def solution(my_string):
#     return my_string.swapcase()

-> list와 string 출력 형태를 기억해야할 것 같다. gpt랑 푼 결과 여러가지 결과물을 얻었지만...하..

 

 

 

다른 사람이 작성한 코드

def solution(my_string):
    return my_string.swapcase()

-> 인덱스 i를 통해 하나하나 비교하신분도 있지만 이 코드가 가장 적합하고 깔끔하다. 하지만 이 swapcase는 전체적으로 바꿀때만 사용가능한 것으로 알고있다. 현재 문제에서는 적합하지만 상황에 따라서 사용이 필요할 것 같다.

 

 

 

 

 

 

회고

upper() / lower() / islower() / isupper() 의 사용법을 정확하게 외우지 못했었다. 하지만 지금 문제를 통해 islower()/isupper()는 boolean 형태를 띄고 lower()와 upper()는 출력이 나오지않는 메서드라는 것을 기억할 필요가 있고, 알게 되었다.

 

 

 

 

목차