Level1 - 핸드폰 번호 가리기

 

 문제

문제 설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건
  • phone_number는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
phone_number return
"01033334444" "*******4444"
"027778888" "*****8888"

 

 풀이

사용언어 : C++

#include <string>
#include <vector>

using namespace std;

string solution(string phone_number) {
    string answer = "";
    int count = 0;
    for ( int i = 0; i < phone_number.size()-4; ++i){
        answer += "*";
        ++count;
    }
    
    for ( int i = count; i<phone_number.size(); ++i){
        answer += phone_number[i];
    }
    
    
    return answer;
}

 

다른 사람의 풀이

포문을 두개 사용할 필요없이 풀이하는 접근이 좋았다.

#include <string>
#include <vector>

using namespace std;

string solution(string phone_number) {
    string answer = "";

    for (int i = 0; i < phone_number.size() - 4; i++ )
    {
        phone_number[i] = '*';
    }

    answer = phone_number;

    return answer;
}

 

 

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12948

+ Recent posts