포시코딩

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

카테고리 없음

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

포시 2022. 12. 31. 19:16
728x90

문제

https://school.programmers.co.kr/learn/courses/30/lessons/120893

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 풀이

def solution(my_string):
    answer = ''
    # 대문자와 소문자 간의 아스키코드값 차이는 32
    # 대문자 Z의 아스키코드는 90
    # 소문자 a의 아스키코드는 97이므로 이 값을 이용해 대문자인지 소문자인지 확인한다.
    for e in my_string:
        if ord(e) > 90:
            e = chr(ord(e)-32)
        else:
            e = chr(ord(e)+32)
        answer += e

    return answer

 

다른 풀이 A

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

str.swapcase()는 문자열의 대소문자를 서로 바꾸는 함수

 

다른 풀이 B

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

str.islower(), str.isupper(): 문자열이 각각 소문자인지 대문자인지 확인해주는 함수

str.lower(), str.upper(): 문자열을 각각 소문자, 대문자로 바꾸는 함수

728x90