<로직 고민>
- 문제 보자마자 isupper, upper, lower 메서드를 쓰면 좋겠다는 생각이 들었다
- for문 안에 if문을 넣고 문자열의 문자 하나씩 isupper로 True인지 False인지 판별해서 True면 lower 해주고 False면 upper 하면 될 것 같았다
- 문자열끼리 더하기 되니까 answer라는 빈 문자열에 하나씩 넣는 걸로 ㄱㄱ
- 그랬더니 한 번에 정답 맞춤!! 코드는 아래에
<완성된 코드>
def solution(my_string):
answer = ''
for string in my_string:
if string.isupper():
answer = string.lower()
else:
answer = string.upper()
return answer
print(solution("CCCccc"))
print(solution("abCdEfghIJ"))
# 출력화면
# cccCCC
# ABcDeFGHij
<다른 사람 풀이>
- 천재풀이1
def solution(my_string):
return my_string.swapcase()
- 또 간결한 코드가 있겠지 했는데 진짜 간결하네
- 이렇게 또 하나 알아가는군
- 천재풀이2
def solution(my_string):
return ''.join([x.lower() if x.isupper() else x.upper() for x in my_string])
- 이런 풀이도 있는데 내 코드를 한 줄로 만든 것 같다
- 어떻게 이런 생각들을 할까....참 신기....
- 그냥 [] 안에 넣으면 리스트가 되는 것도 신기....ㅋㅋㅋ