[프로그래머스] 대소문자 바꿔서 출력하기

bbolddagu·2023년 4월 27일
0

C++

목록 보기
4/7

대소문자 바꿔서 출력하기

문제

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

제한사항

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

풀이

풀이1

#include <iostream>
#include <string>

using namespace std;

int main() {
    string str;

    cin >> str;

    for (char& c : str) {
        if (isupper(c)) {
            c = tolower(c);
        } else if (islower(c)) {
            c = toupper(c);
        }
    }

    cout << str << endl;

    return 0;
}
  • 🔥char&는 참조(reference) 타입을 나타냅니다. & 기호는 참조를 의미합니다. 참조는 기존 변수를 가리키는 새로운 이름을 만드는 것으로, 해당 변수를 복사하지 않고 값을 변경할 수 있습니다.
  • isupper 함수: 대문자인지 판별하는 함수
  • tolower 함수: 대문자를 소문자로 변환하는 함수
  • islower 함수: 소문자인지 판별하는 함수
  • toupper 함수: 소문자를 대문자로 변환하는 함수

풀이2

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main(void) {
    string str;
    cin >> str;
    
    for(char ch : str)
    {
        if(isupper(ch))
            cout << (char)tolower(ch);
        else
            cout <<  (char)toupper(ch);
    }
    return 0;
}
  • #include <algorithm>
    : 알고리즘을 구현하는 데 사용되는 다양한 함수들을 제공
    • std::find : 컨테이너에서 특정 값이 있는지 찾습니다.
    • std::count : 컨테이너에서 특정 값이 몇 개 있는지 계산합니다.
    • std::min, std::max : 두 값 중 작은 값을 반환하거나 큰 값을 반환합니다.
    • std::reverse : 컨테이너의 요소를 역순으로 뒤집습니다.
    • std::unique : 컨테이너에서 중복된 요소를 제거합니다.
      등등

0개의 댓글