😈 알고리즘/🖥️ 프로그래머스

🖥️ 대문자와 소문자

Buᐢ༝ᐢy 2023. 1. 7. 06:00
코딩테스트 연습 - 대문자와 소문자
문자열 my_string 이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 입출력 예 입출력 예 설명 입출력 예 #1 소문자는 대문자로 대문자는 소문자로 바꾼 "CCCccc"를 return합니다. 입출력 예 #2 소문자는 대문자로 대문자는 소문자로 바꾼 "ABcDeFGHij"를 return합니다.
https://school.programmers.co.kr/learn/courses/30/lessons/120893

문제 설명


문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.

제한사항


  • 1 ≤ my_string의 길이 ≤ 1,000
  • my_string은 영어 대문자와 소문자로만 구성되어 있습니다.

입출력 예


my_stringresult
"cccCCC""CCCccc"
"abCdEfghIJ""ABcDeFGHij"

입출력 예 설명


입출력 예 #1

  • 소문자는 대문자로 대문자는 소문자로 바꾼 "CCCccc"를 return합니다.

입출력 예 #2

  • 소문자는 대문자로 대문자는 소문자로 바꾼 "ABcDeFGHij"를 return합니다.

제출 코드


두 가지 방법으로 해보았다.

#include <string>
#include <vector>
using namespace std;

string solution(string my_string) {
    string answer = "";
    
    for(auto& c : my_string)
    {
        if(islower(c)) answer.push_back(toupper(c));
        else answer.push_back(tolower(c));
    }
    return answer;
}

toupper, tolower 함수를 이용한 풀이

#include <string>
#include <vector>

using namespace std;

string solution(string my_string) {
    string answer = "";
    int length = my_string.size();

    for(int i = 0; i < length; i++)
    {
        if(my_string[i] >= 97) answer.push_back(my_string[i] - 32);
        else answer.push_back(my_string[i]+32);
    }

    return answer;
}

아스키 코드를 이용한 풀이


Uploaded by N2T