코딩스터디
[프로그래머스] 대문자와 소문자
열쩡왔쩡
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(): 문자가 대문자일 경우, 이 메서드는 해당 문자를 소문자로 변환합니다.
- 이 조건부 표현식은 문자가 소문자일 경우 대문자로 변환하고, 그렇지 않으면(즉, 대문자일 경우) 소문자로 변환합니다.
- char.upper() if char.islower() else char.lower() 부분은 조건부 표현식입니다. 이 표현식은 다음과 같은 방식으로 작동합니다:
- 문자열 결합:
- ''.join(...) 부분은 조건부 표현식의 결과로 생성된 문자들을 하나의 문자열로 결합합니다. join() 메서드는 문자열을 결합할 때 사용되며, 빈 문자열 ''을 사용하면 모든 문자가 그냥 붙어 결합됩니다.
728x90