LeeTaes 공부노트

[프로그래머스/C++ 문제 풀이] Lv. 0 - 대소문자 바꿔서 출력하기 본문

코딩테스트/프로그래머스 (Lv. 0)

[프로그래머스/C++ 문제 풀이] Lv. 0 - 대소문자 바꿔서 출력하기

리태s 2024. 7. 8. 12:30
728x90
반응형

문제 설명

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

제한 사항

  • 1 ≤ str의 길이 ≤ 20
    • str은 알파벳으로 이루어진 문자열입니다.

입출력 예

입력 #1

aBcDeFg

 

출력 #1

AbCdEfG

문제 풀이

이번 문제는 아스키코드의 개념을 알고 있는지 확인하기 위한 간단한 문제입니다.

 

아스키 (ASCII) 코드란 컴퓨터 및 통신 시스템에서 문자를 나타내기 위해 사용되는 표준 문자 인코딩 시스템입니다.

C++에서 각 문자는 아스키 코드값으로 처리가 가능하며, 이를 활용해 문제를 해결하였습니다.

정답 코드

더보기
#include <iostream>
#include <string>

using namespace std;

int main(void) {
    string str;
    cin >> str;
    // 97 ~ 112 :  a ~ z
    // 65 ~ 90  :  A ~ Z

    for (int i = 0; i < str.length(); i++)
    {
        char c = str[i];
        if (c >= 97)
        {
            // 소문자이므로 대문자로 전환
            str[i] = c - 32;
        }
        else if (c <= 90 && c >= 65)
        {
            str[i] = c + 32;
        }
    }

    cout << str << "";

    return 0;
}
728x90
반응형