728x90
https://programmers.co.kr/learn/courses/30/lessons/12948
접근
번호를 하나씩 탐색하여 번호의 길이에서 마지막 4자리를 제외한 만큼은 별표로 문자에 추가하고 별표를 모두 추가했다면 번호를 추가하도록 구현하였다.
구현
- map 함수를 구현하여 폰 번호에서 하나의 번호씩 넘겨질 수록 하고
- filter에서는 최종 반환할 문자열인 result의 사이즈가 별의 개수보다 적을 때 별을 추가하고
- 이상일 때는 번호를 추가하도록 한다.
- 최종적으로 만들어진 번호를 반환한다.
function* map(phone_number) {
for(let number of phone_number) yield number;
}
function filter(phone_number, star_size) {
let result = '';
for (let number of phone_number) {
if(size(result) < star_size) {
result += '*';
}
else result += number;
}
return result;
}
function size(s){
return s.length;
}
function solution(phone_number) {
let answer = '';
let star_size = phone_number.length - 4;
answer = filter(map(phone_number), star_size);
return answer;
}
'프로그래밍 > 함수형 프로그래밍' 카테고리의 다른 글
[함수형 프로그래밍 연습하기] 프로그래머스 Level1 - 제일 작은 수 제거하기 (0) | 2021.08.08 |
---|---|
[함수형 프로그래밍 연습하기] 프로그래머스 Level1 - 완주하지 못한 선수 (0) | 2021.08.07 |
[함수형 프로그래밍 연습하기] 프로그래머스 Level1 - 평균 구하기 (0) | 2021.08.06 |
[함수형 프로그래밍 연습하기] 프로그래머스 Level1 - 같은 숫자는 싫어 (1) | 2021.08.05 |
함수형 프로그래밍의 특징 (1) (0) | 2021.08.05 |