Muscardinus

[프로그래머스] 핸드폰 번호 가리기(Lv1) 본문

알고리즘 문제/[프로그래머스] Lv1

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

Muscardinus 2020. 6. 10. 22:53
728x90

https://programmers.co.kr/learn/courses/30/lessons/12948?language=cpp

문제 설명

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

제한 조건

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

입출력 예

phone_number return
01033334444 *******4444
027778888 *****8888

JavaScript

function solution(phone_number) {
    var answer = '';
    phone_number=phone_number.split("").reverse();
    for(var i=4;i<phone_number.length;i++){
        phone_number[i]='*';
    }
    phone_number=phone_number.reverse().join("");
    answer=phone_number;
    return answer;
}

reverse 함수는 char 변수로 바꾸고 해야한다

function solution(phone_number) {
    var answer = '';
    answer='*'.repeat(phone_number.length-4)+phone_number.slice(-4);
    return answer;
}

repeat 함수 숙지하기

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/repeat

 

C++

#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;

string solution(string phone_number) {
    string answer = "";
    reverse(phone_number.begin(),phone_number.end());
    for(int i=4;i<phone_number.size();i++)
        phone_number[i]='*';
    reverse(phone_number.begin(),phone_number.end());
    answer=phone_number;
    return answer;
}

C++에서 reverse 함수는 return 값이 없다

 

#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;
}

 

728x90
Comments