[C++] 프로그래머스 l로 만들기

문제설명

알파벳 소문자로 이루어진 문자열 myString이 주어집니다.
알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을
return 하는 solution 함수를 완성해 주세요.


제한사항

• 1 ≤ myString ≤ 100,000
  ◦ myString은 알파벳 소문자로 이루어진 문자열입니다.


입출력 예

myString result
“abcdevwxyz” “lllllvwxyz”
“jjnnllkkmm” “llnnllllmm”


풀이

myString 문자열에서 l보다 앞서는 모든 문자를 l로 변경하는 구현 문제입니다. compare 함수를 이용하여 l보다 앞선 문자를 판단하였습니다.

#include <string>
#include <vector>

using namespace std;

string solution(string myString) {
    string answer = "";
    
    for(int i = 0; i < myString.length(); i++)
    {
        if(myString.substr(i, 1).compare("l") < 0)
        {
            answer.push_back('l');
        }
        else
        {
            answer.push_back(myString[i]);
        }
    }
    
    return answer;
}


결과

코드 실행결과

Categories:

Updated:

Leave a comment