문제
영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 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())
'BOJ 코딩테스트 > Bronze' 카테고리의 다른 글
BOJ 9086번 : 문자열 (C++/Bronze 5) (0) | 2022.08.05 |
---|---|
BOJ 2754번 : 학점계산 (C++/Bronze 5) (0) | 2022.08.05 |
BOJ 2743번 : 단어 길이 재기 (C++/Python/Bronze 5) (0) | 2022.08.05 |
BOJ 11654번 : 아스키코드 (C++/Python/Bronze 5) (0) | 2022.08.05 |
BOJ 2738번 : 행렬 덧셈 (C++/Bronze 5) (0) | 2022.08.05 |