[ C++ ] 프로그래머스 Level 1: 핸드폰 번호 가리기
✏️ PS/Programmers

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

반응형

 

안녕하세요? 수구리입니다.

이번 코딩테스트 문제도 프로그래머스의 Level 1 문제입니다.

빠르게 살펴보도록 하겠습니다.

 

 

문제 설명

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

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

 

 

[ 문제 ] 프로그래머스 Level 1: 핸드폰 번호 가리기

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

 

코딩테스트 연습 - 핸드폰 번호 가리기

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

programmers.co.kr

 

 

[ 나의 풀이 ]

#include <string>
#include <vector>
#include <iostream>

using namespace std;

string solution(string phone_number) {
    size_t s = phone_number.size();
    int stars = s - 4;
    cout << stars;
    
    for (int i = 0; i < stars; i++)
        phone_number[i] = '*';
    
    return phone_number;
}

 

 

 

 

[ 설명 ]

1. 입력 param의 string 길이를 저장해줍니다. 여기서 type이 size_t인데 int로 해도 상관은 없지만 다른점으로는 부호가 없는 즉, unsigned int 값입니다. 왜냐하면 길이는 항상 양수의 값을 가지기 때문입니다.

2. 그다음으로 길이에서 4만큼 빼준 값을 stars라는 int 변수에 저장해줍니다.

3. 마지막 4개의 문자만 살리면 되므로 첫 문자부터 순회하면서 stars라는 변수까지 모두 문자 '*'로 바꿔줍니다.

4. string phone_number를 return  합니다.

 

 

반응형