코딩테스트

[프로그래머스] 핸드폰 번호 가리기

코딩너구리 2024. 2. 29. 14:09

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

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

제한 조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.

 

 

기본적으로 string을 이용할 줄 안다면 쉽게 풀 수 있는 문제다.

 

#include <string>
#include <vector>

using namespace std;

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

 

우선 매개변수로 들어온 전화번호의 길이를 가져온다. for문을 통해 배열의 마지막 뒷 4자리 까지는 *를 집어넣어 준다. 굳이 새로운 변수를 만들지 않고 매개변수의 값을 직접적으로 변경해도 되지만 데이터를 추적하기 쉽게 함수 안에서 새로운 변수를 만들고 해당 값을 리턴 시켜주도록 설계하였다.

 

출처 : 프로그래머스 lv.1