코딩스터디

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

열쩡왔쩡 2024. 9. 4. 18:17

 

# 문제 설명

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


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

 

# 답안

def solution(my_string):
    # 각 문자에 대해 대소문자 변환을 수행하고 문자열을 결합합니다.
    answer = ''.join(
        char.upper() if char.islower() else char.lower() 
        for char in my_string
    )
    return answer

 

# 코드설명

 
  • 문자열을 반복:
    • for char in my_string 부분은 my_string에 포함된 각 문자에 대해 반복합니다. 이 반복문은 문자열의 모든 문자를 하나씩 처리합니다.
  • 조건부 표현식:
    • char.upper() if char.islower() else char.lower() 부분은 조건부 표현식입니다. 이 표현식은 다음과 같은 방식으로 작동합니다:
      • char.islower(): 이 메서드는 문자가 소문자인지 확인합니다. 소문자라면 True, 아니면 False를 반환합니다.
      • char.upper(): 문자가 소문자일 경우, 이 메서드는 해당 문자를 대문자로 변환합니다.
      • char.lower(): 문자가 대문자일 경우, 이 메서드는 해당 문자를 소문자로 변환합니다.
    • 이 조건부 표현식은 문자가 소문자일 경우 대문자로 변환하고, 그렇지 않으면(즉, 대문자일 경우) 소문자로 변환합니다.
  • 문자열 결합:
    • ''.join(...) 부분은 조건부 표현식의 결과로 생성된 문자들을 하나의 문자열로 결합합니다. join() 메서드는 문자열을 결합할 때 사용되며, 빈 문자열 ''을 사용하면 모든 문자가 그냥 붙어 결합됩니다.
728x90