[C++] 프로그래머스 0 떼기

문제설명

정수로 이루어진 문자열 n_str이 주어질 때,
n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을
return하도록 solution 함수를 완성해주세요.


제한사항

• 2 ≤ n_str ≤ 10
• n_str이 "0"으로만 이루어진 경우는 없습니다.


입출력 예

n_str result
“0010” “10”
“854020” “854020”


풀이

n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하는 구현 문제입니다.

#include <string>
#include <vector>

using namespace std;

string solution(string n_str) {
    string answer = "";
    bool f_flag = false;
    
    if(n_str[0] == '0')
    {
        for(int i = 0; i < n_str.length(); i++)
        {
            if (!f_flag)
            {
                if(n_str[i] != '0')
                {
                    f_flag = true;
                    answer += n_str[i];
                }
            }
            else
            {
                answer += n_str[i];
            }
        }
    }
    else
    {
        answer = n_str;
    }
    
    return answer;
}


결과

코드 실행결과

Categories:

Updated:

Leave a comment