티스토리 뷰

반응형

 

 

2744번: 대소문자 바꾸기

영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

문제

영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 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을 쓸때 끝에 공백이 붙기에 공백을 제거하는 용도이다.

 

이는 아스키 코드에서 이어지는 개념이므로 잘 모르겠다면 해당 글을 참고해보자.

 

 

[백준/python] 11654번 - 아스키 코드 / 새싹

11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 알파벳 소문자, 대문자, 숫자 0-9

sikaro.tistory.com

 

반응형