code/[프로그래머스] python

[코딩 테스트 연습 입문] 대문자와 소문자

오리는짹짹 2022. 12. 27. 12:38

문제

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

 

❗제한사항

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

 

입출력 예

 

입출력 예 설명

입출력 예 #1

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

입출력 예 #2

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

 

✔풀이

def solution(my_string):
    answer = ''
    for alphbet in my_string:
        if alphbet ==alphbet.lower():
            answer+=alphbet.upper()
        else:
            answer+=alphbet.lower()
    return answer

📝설명

.lower()은 대문자를 소문자로 바꿔주고, .upper()은 소문자를 대문자로 바꿔준다.

이 함수를 이용해서 코드를 짜야겠다고 구상했다.

따라서 for 문을 통해 각각의 알파벳을 하나씩 꺼낸다.

alphbet이 소문자로 만드는 .lower()을 적용한 것과 같다면, 원래 alphabet이 소문자였다는 것이므로 answer에 대문자로 바꿔주는 .upper()을 적용한 값을 추가한다.

만약 alphabet이 소문자로 만드는 .lower()의 적용값과 다르다면 alphabet은 대문자였다는 것이므로, answer에 .lower()을 적용한 값을 추가한다.

 

👑모범 답안

🔎swapcase()은 대소문자를 껐다 켰다 해주는 함수라고 한다. 즉, 소문자를 대문자로, 대문자를 소문자로 변환해주는..!

그래서 이렇게 간결하게 코드를 짤 수 있게 되었다.

 

👀느낀 점

: 파이썬의 함수는 정말 다양하다..

이렇게 편리하다니..

검색도 실력이라고 하는데, 검색 실력을 늘려가면서 문제를 풀어나가야겠다.