개발나라 스용공주

[프로그래머스] Lv.0 C++ 대소문자 바꿔서 출력하기 / 아스키 코드 본문

C++/코딩테스트

[프로그래머스] Lv.0 C++ 대소문자 바꿔서 출력하기 / 아스키 코드

스용공주 2024. 3. 28. 01:56
728x90
728x90

 < 문제 설명 >
영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.

입력 #1
aBcDeFg
출력 #1
AbCdEfG

 

 

#include <iostream>
#include <string>

using namespace std;

int main(void) {
    string str;
    cin >> str;

    for (int i = 0; i < str.size(); i++)
    {
        if (str[i] >= 'A' && str[i] <= 'Z')
            str[i] += 32;
        else
            str[i] -= 32;
    }

    cout << str << endl;
    return 0;
}

 

대문자와 소문자를 변경해주려면 아스키 코드 값을 활용해주면 된다.

  • A의 아스키코드 : 65
  • a의 아스키코드 : 97
  • A와 a의 아스키코드의 차 : 32

따라서 위와 같이 대문자에 해당하는 경우 32를 더해주고 소문자에 해당하는 경우 32를 빼준다.

 

728x90
728x90
Comments