문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
- s는 길이 4 이상, 20이하인 문자열입니다.
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
Solution
#include <string>
#include <vector>
using namespace std;
string solution(string phone_number) {
string answer = "";
for (int i = 0; i < phone_number.length(); i++) {
if (4 < phone_number.length() - i) {
answer += "*";
} else {
answer += phone_number.at(i);
}
}
return answer;
}
남의 코드
#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;
}
후기
string 형식의 변수를 받아서 끝 4자리를 제외하고선 모두 *로 가리는 문제였다. 지금 다시 푼다면 좀 더 아름답게 코딩을 할 수 있을 것만 같다.
(url: https://programmers.co.kr/learn/courses/30/lessons/12948)
728x90
'연습장' 카테고리의 다른 글
연습문제 > 평균 구하기 (0) | 2021.11.27 |
---|---|
연습문제 > 하샤드 수 (0) | 2021.11.27 |
연습문제 > 이상한 문자 만들기 (0) | 2021.11.27 |
연습문제 > 행렬의 덧셈 (0) | 2021.11.27 |
연습문제 > x만큼 간격이 있는 n개의 숫자 (0) | 2021.11.27 |