[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

👻 글을 마치며

아스키코드만 알면 쉽게 해결할 수 있는 문제이다. 나 같은 경우는 아스키코드 자체를 비교 대상으로 정해주었는데 문자 자체로 비교를 하는 것이 훨씬 가독성이 좋아 보이는 코드 같다. 문자열은 문자열을 비교하는 방식을 우선으로 떠올릴 수 있도록 암기 해야겠다.


소스코드 보러가기

Categories:

Updated:

Leave a comment