C++/코딩 기초 트레이닝

[C++/프로그래머스] 배열에서 문자열 대소문자 변환하기

서니션 2023. 12. 13. 18:49
728x90
반응형

문제설명

문자열 배열 strArr가 주어집니다. 모든 원소가 알파벳으로만 이루어져 있을 때, 배열에서 홀수번째 인덱스의 문자열은 모든 문자를 대문자로, 짝수번째 인덱스의 문자열은 모든 문자를 소문자로 바꿔서 반환하는 solution 함수를 완성해 주세요.


제한사항

  • 1 ≤ strArr ≤ 20
    • 1 ≤ strArr의 원소의 길이 ≤ 20
    • strArr의 원소는 알파벳으로 이루어진 문자열 입니다.

입출력 예

입출력 예 설명

입출력 예 #1

  • strArr[0]과 strArr[2]는 짝수번째 인덱스의 문자열이므로 모두 소문자로 바꿔서 "aaa"와 "ccc"가 됩니다.
  • strArr[1]과 strArr[3]는 홀수번째 인덱스의 문자열인데 원래 대문자이므로 그대로 둡니다.
  • 따라서 ["aaa","BBB","ccc","DDD"]를 return 합니다.

입출력 예 #2

  • strArr[0]은 짝수번째 인덱스의 문자열이므로 소문자로 바꿔서 "abc"가 됩니다.
  • strArr[1]은 홀수번째 인덱스의 문자열이므로 대문자로 바꿔서 "ABC"가 됩니다.
  • 따라서 ["abc","ABC"]를 return 합니다.

작성코드

#include <string>
#include <vector>
#include <cctype>

using namespace std;

vector<string> solution(vector<string> strArr) {
    vector<string> answer = strArr;
    
    for(int i=0; i<answer.size(); i++)
    {
        if(i % 2 != 0) // 홀수면
        {
            for (int j=0; j<answer[i].length(); j++)
            {
                answer[i][j]=toupper(answer[i][j]);
            }
        }
        else
        {
            for (int j=0; j<answer[i].length(); j++)
            {
                answer[i][j]=tolower(answer[i][j]);
            }
        }
    }
    return answer;
}

문제 URL

https://school.programmers.co.kr/learn/courses/30/lessons/181875

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


반응형
728x90

 

728x90
반응형