<알고리즘 문제풀이&연습>/[C++] 백준, 프로그래머스 등등

[프로그래머스] LEVEL 1 : 핸드폰 번호 가리기 (C++)

BlockDMask 2018. 9. 18. 09:00
반응형

안녕하세요!! BlockDMask 입니다.

어제는 오랜만에 쇼핑을 했습니다 ㅎ_ㅎ 이쁜 셔츠를 샀어요.


1. 제목

프로그래머스 LEVEL 1 : 핸드폰 번호 가리기 (C++)


2. 문제 설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.

전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해 주세요.


제한조건

s는 길이 4이상 20이하인 문자열 입니다.


phone_number : return

01012345678 : *******5678

023332222 : *****2222

이런식으로 input과 return을 하는 함수를 만들면 됩니다.


3. 풀이 과정

solution 함수로 들어오는 매개변수 phone_number는 call by value 이므로 함수 내부에서 아무렇게나 사용해도 무방합니다.

그래서 따로 string 타입의 변수를 선언하지 않고 그대로 사용했습니다.

phone_number가 어떤수가 들어오든간에 뒤에 네자리만 뺴고 다 "*"로 치환해버리면 됩니다. 간단.

굳이 뭐 다른 string 만들어서 * 넣고 이런식으로 할 필요가 없습니다.

혹시 string에 대해 궁금하신 분들은 아래 링크로 GOGO!

<연관글>

2017/07/10 - [<개인공부>/[C++ STL]] - [C++] string 클래스 만들어보기.

2017/07/10 - [<개인공부>/[C++ STL]] - [C++] string 클래스 정리

2017/07/11 - [<개인공부>/[C++ STL]] - [C++] string 클래스 변환(atoi, c_str()) 등 정리


4. 소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <string>
#include <vector>
 
using namespace std;
 
string solution(string phone_number) {
    int len = static_cast<int>(phone_number.length());
    for(int i=0; i< len-4++i)
    {
        phone_number[i] = '*';
    }
    return phone_number;
}
cs


반응형