[문제 설명]

영어 알파벳으로 이루어진 문자열 str이 주어집니다. 

각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.


[제한사항]

1 ≤ str의 길이 ≤ 10
str은 알파벳으로 이루어진 문자열입니다.

 

[입출력 예]

입력 #1)
aBcDeFg


출력 #1)
AbCdEfG

 


 

[나의 풀이]

str = input()

a = []

# 1. 알파벳이 소문자인지 대문자인지 판별하여 상호변환
for i in str:
    if i.islower():
        a.append(i.upper())
    else:
        a.append(i.lower())

# 2. list인 a를 문자열로 바꾸기
print(''.join(a))

 


[설명]

1. 알파벳이 소문자인지 대문자인지 판별하여 상호변환 

    (대문자는 소문자로 / 소문자는 대문자로)

str = 'aBcDeFg'

a = []
for i in str:
    if i.islower():
        a.append(i.upper())
        print(a)
    else:
        a.append(i.lower())
        print(a)

Out[1]:

['A']

['A', 'b']

['A', 'b', 'C']

['A', 'b', 'C', 'd']

['A', 'b', 'C', 'd', 'E']

['A', 'b', 'C', 'd', 'E', 'f']

['A', 'b', 'C', 'd', 'E', 'f', 'G']

 

 

> 대문자인지 확인 :  string.isupper()

> 소문자인지 확인 :  string.islower()

 

> 대문자로 바꾸기 :  string.upper()

> 소문자로 바꾸기 :  string.lower()

 

 

2. list인 a를 문자열로 바꾸기

print(a)
print(''.join(a))

Out[2]:

['A', 'b', 'C', 'd', 'E', 'f', 'G']

AbCdEfG

 

 


[다른 사람 풀이 1]

print(input().swapcase())

[설명]

str = 'aBcDeFg'
print(str.swapcase())

Out[3]:

AbCdEfG

 

> swapcase()

  : 대문자를 소문자로, 소문자를 대문자로 상호 변환해 주는 함수

 


[다른 사람 풀이 2]

str = input()
for i in str:
    if i.islower():
        print(i.upper(),end='')
    else:
        print(i.lower(),end='')

> 알파벳을 상호 변환하여 끝을 ''로 만들기 


[다른 사람 풀이 3]

ans = ''
for a in input():
    if a.isupper():
        ans += a.lower()
    else:
        ans += a.upper()
print(ans)

> 알파벳을 상호 변환하여 ans에 하나씩 추가

 

 

 

'Test > python' 카테고리의 다른 글

문자열 섞기  (0) 2023.05.05
문자열 겹쳐쓰기  (0) 2023.05.02
안전지대 (enumerate)  (0) 2023.04.22
약수 구하기  (0) 2023.04.19
겹치는 선분의 길이 ( set , &, | )  (0) 2023.04.18

+ Recent posts