티스토리 뷰
반응형
문제
영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다.
출력
첫째 줄에 입력으로 주어진 단어에서 대문자는 소문자로, 소문자는 대문자로 바꾼 단어를 출력한다.
예제 입력 1 복사
WrongAnswer
예제 출력 1 복사
wRONGaNSWER
아스키 코드에서 이어지는 문제이다.
python에서는 정말 쉬운 문제이다. swapcase를 쓰면 된다.
import sys
print(sys.stdin.readline().swapcase())
하지만 python이 아닌 다른 프로그래밍 언어를 쓴다면 알고리즘을 대충 다음과 같이 짜면 된다.
import sys
input = sys.stdin.readline
a = input().rstrip()
b=[]
for i in range(len(a)):
b.append(a[i])
c =0
d=[]
for i in range(len(b)):
c = ord(b[i])
if c >=97:
c-=32
d.append(chr(c))
else:
c+=32
d.append(chr(c))
print(''.join(d))
sys.stdin.readline은 input이라고 생각하면 되고, input().rstrip()은 sys.stdin.readline을 쓸때 끝에 공백이 붙기에 공백을 제거하는 용도이다.
이는 아스키 코드에서 이어지는 개념이므로 잘 모르겠다면 해당 글을 참고해보자.
반응형