Study/Programmers

[프로그래머스 Lv.1]핸드폰 번호 가리기

0lynny 2021. 7. 6. 21:27

문제 : 핸드폰 번호 가리기 

 

문제 설명

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

 

제한 조건

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

입출력 예

phone_number      return

"027778888" "*****8888"
"01033334444" "*******4444"

 

코드 구현

: 먼저 phone_number을 answer에 복사한 후, 핸드폰 번호 뒤에서 4자리만 남아있게 하는 것이므로 전체 폰번호의 길이를 구한 후, 4를 뺸 인덱스까지를 *로 바꿔준다.

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* phone_number) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    char* answer = (char*)malloc(1);
    
    strcpy(answer, phone_number);
    for(int i = 0; i < strlen(phone_number) - 4; i++)
        answer[i] = '*';
   
    return answer;
}