[프로그래머스 / C++] A 강조하기

YH·2023년 10월 29일
0

문제

A 강조하기 : 문제 링크


문제 분석

  • 문자열 myString이 주어진다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return
  • 소문자 변환을 위해 transform() 함수를 사용하므로 algorithm 헤더를 include. transform() 함수의 ::tolower 옵션을 통해 myString 문자열을 모두 소문자로 변환.
  • for loop를 사용하여 소문자로 변환된 문자열 myString을 문자 하나씩 검사하고, if문을 사용하여 'a'를 발견하면 'A'를, 이외의 경우에는 문자 그대로 문자열 answer에 저장. 최종적으로 저장된 answer을 return

algorithm 헤더의 transform() 함수 사용법
transform(first1, last1, d_first, unary_op);

  • first1 : 입력한 변수의 first 위치
  • last1 : 입력한 변수의 last 위치까지
  • d_first : 저장할 변수의 first 위치
  • unary_op : 변환할 방법이 있는 함수 (대문자로 : toupper, 소문자로 : tolower)

풀이

#include <string>
#include <algorithm>

using namespace std;

string solution(string myString) {
    string answer;
    
    transform(myString.begin(), myString.end(), myString.begin(), ::tolower);
    for(int i = 0 ; i < myString.size(); ++i) {
        if (myString[i] == 'a') answer += 'A';
        else answer += myString[i];
    }
    return answer;
}
profile
Keep Recycling Your Dreams

0개의 댓글