초보 개발자의 이야기, 릿허브

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

코딩테스트/📘 프로그래머스 (programmers)

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

릿99 2021. 9. 11. 11:01
728x90
반응형
1. 문제이해

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

 

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

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

programmers.co.kr

 

주어진 핸드폰 번호의 끝 4자리를 제외하고 모두 '*'로 바꾸어 리턴하는

알고리즘을 구현하는 것이 목표이다.

 

 

 

2. 문제풀이

 

문제는 어렵지 않다.

주어진 틀의 answer에, phone_number의 맨 뒤 4자리를 제외한 갯수만큼 '*' 을 붙여준 뒤,

phone_number의 마지막 4자릿수를 다시 붙여주면 된다.

 

주어진 틀은 다음과 같았다.

 

 

 

 

3. 소스코드
#include <string>
#include <vector>
#include <string>

using namespace std;

string solution(string phone_number) {
    string answer = "";
    int size = phone_number.size();
    
    // 핸드폰 번호의 마지막 4자리수를 제외한 사이즈만큼
    // answer에 '*' 붙여주기
    for(int i=0; i<size-4; i++){
        answer += '*';
    }
    
    // 핸드폰 번호의 마지막 4자리수를 붙여주기
    answer = answer + phone_number.substr(size-4, 4);

    return answer;
}

핸드폰 번호의 사이즈를 따로 저장(size)해두고, 

핸드폰 번호의 마지막 4자리수를 제외한 크기만큼 answer 문자열에 '*'를 붙여주었다.

이후, 핸드폰 번호의 마지막 4자리수는 substr을 통해 문자열을 잘라 붙여주었다.

 

 


그동안 프로그래머스 문제를 풀지 않은 것같아서,

쉬운 문제부터 먼저 가져와봤다.😊

프로그래머스도 소홀히 하지말고 쉬운것부터라도 조금식 해나가야겠다.💪💪

 

 

728x90
반응형