Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 영어 문자열의 대소문자를 서로 바꾸는 방법

영어 알파벳으로 이루어진 문자열이 주어졌을 때, 각 글자의 대소문자를 서로 반전시켜야 하는 경우가 있습니다. 즉, 대문자는 소문자로, 소문자는 대문자로 변환하는 것이죠.

문제 이해하기

예를 들어 입력 문자열이 s = "PrograMMinG"라면, 출력 결과는 pROGRAmmINg이 됩니다. 원래 대문자였던 'P', 'M', 'M', 'G'는 소문자로 바뀌고, 나머지 소문자들은 모두 대문자로 변환됩니다.

해결 접근 방법

이 문제는 다음과 같은 단계로 해결할 수 있습니다.

  • 빈 문자열 ret을 초기화합니다.
  • 입력 문자열 s의 각 글자를 하나씩 순회합니다.
    • 현재 글자가 대문자라면 → 해당 글자의 소문자 형태를 ret에 추가합니다.
    • 그렇지 않다면(소문자라면) → 해당 글자의 대문자 형태를 ret에 추가합니다.
  • 모든 글자를 처리한 후 최종 결과인 ret을 반환합니다.

구현 예제 코드

아래 파이썬 코드를 통해 실제 구현 과정을 확인해 보겠습니다.

def solve(s):
    ret = ''

    for letter in s:
        if letter.isupper():
            ret += letter.lower()
        else:
            ret += letter.upper()
    return ret

s = "PrograMMinG"
print(solve(s))

실행 결과 확인

입력:

"PrograMMinG"

출력:

pROGRAmmINg

추가 팁: swapcase() 메서드 활용

사실 파이썬에서는 내장 문자열 메서드인 swapcase()를 사용하면 위 로직을 한 줄로 간단하게 처리할 수 있습니다.

s = "PrograMMinG"
print(s.swapcase())  # 출력: pROGRAmmINg

다만 직접 구현하는 방식은 문자열 처리와 조건문의 동작 원리를 학습하는 데 큰 도움이 되므로, 알고리즘 연습 목적이라면 두 가지 방법 모두 익혀두는 것을 추천합니다.