[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;
}
결과

 
      
    
Leave a comment