[BOJ] #2744 - 대소문자 바꾸기
👻 대소문자 바꾸기
🌱 문제
영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오.
- 시간 제한 : 1초
- 메모리 제한 : 128 MB
🌱 입력
첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다.
🌱 출력
첫째 줄에 입력으로 주어진 단어에서 대문자는 소문자로, 소문자는 대문자로 바꾼 단어를 출력한다.
🌱 예제
🪐 입출력 1
- 입력
WrongAnswer
- 출력
wRONGaNSWER
👻 풀이
#include <iostream>
#include <string>
using namespace std;
int main()
{
ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
// 대소문자 바꾸기
string s;
cin >> s;
for (int i; i < s.size(); i++)
{
if (s[i] >= 65 && s[i] <= 90) s[i] = s[i] + 32;
else s[i] = s[i] - 32;
}
cout << s;
return 0;
}
- 시간 : 0 ms
- 메모리 : 2024 KB
👻 글을 마치며
아스키코드만 알면 쉽게 해결할 수 있는 문제이다. 나 같은 경우는 아스키코드 자체를 비교 대상으로 정해주었는데 문자 자체로 비교를 하는 것이 훨씬 가독성이 좋아 보이는 코드 같다. 문자열은 문자열을 비교하는 방식을 우선으로 떠올릴 수 있도록 암기 해야겠다.
Leave a comment