Stay Hungry Stay Foolish

BOJ 코딩테스트/Bronze

BOJ 2744번 : 대소문자 바꾸기 (C++/Python/Bronze 5)

dev스카이 2022. 8. 5. 01:31
 

2744번: 대소문자 바꾸기

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

www.acmicpc.net

문제

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

 

입력

첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다.

 

출력

첫째 줄에 입력으로 주어진 단어에서 대문자는 소문자로, 소문자는 대문자로 바꾼 단어를 출력한다.


예제 입력

WrongAnswer

예제 출력

wRONGaNSWER

문제 풀이

c++

- isupper() / islower() : 대/소문자인지 확인
- toupper() / tolower() : 대/소문자로 변환

 

python

- swapcase() : 대소문자로 변환

- upper() / lower() : 모든 알파벳을 대/소문자로 변환

- capitalize() : 첫 글자만 대문자로 변환

- title() : 알파벳 외의 문자(숫자, 특수기호, 띄어쓰기 등)로 구분되어 있는 알파벳들의 첫 글자만 대문자로 변환

Solution

C++

#include <iostream>
#include <string>
using namespace std;

int main() {
    string str;
    cin >> str;
    for(int i=0; i<str.size(); i++){
        if(isupper(str[i]))
            str[i] = tolower(str[i]);
        else
            str[i] = toupper(str[i]);
    }
    cout << str;
    return 0;
}

Python

n = input()
print(n.swapcase())