코딩테스트 & 문제 풀이

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

Hicecream 2023. 5. 14. 15:47

2022년 7월 22일에 작성됨

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

문제 분석

4~20자리인 전화번호가 주어졌을 때, 뒷 4자리를 제외한 나머지 숫자를 전부 *로 바꾼다.

 

 

소스 코드 (⭕)

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

char* solution(const char* phone_number) {
    char* answer = (char*)malloc(1);

    strcpy(answer, phone_number);				// phone_number의 문자열을 answer로 복사

    for (int i = 0; i < strlen(phone_number) - 4; i++) {	// 뒷 4자리를 제외한 부분을
        answer[i] = '*';									// 모두 *로 바꾸기
    }
    return answer;
}

 

코드 분석

1. strcpy 함수를 사용하여 answer에 phone_number의 문자열을 복사시킨다.

 

2. 번호의 길이가 0부터 뒷 4자리를 제외한 숫자들을 모두 *로 바꾼다.

 

3. *로 바꾼 번호인 answer를 반환 한다.

 

 

 

end

알 것 같은데 모르겠어서 다른 분들의 코드를 참고하며 풀었다. strcpy 함수를 내가 배웠던가..? 배운지 얼마나 됐다고 벌써 기억이 가물가물..