본문 바로가기
코딩테스트/프로그래머스 Lv.1

[코딩테스트 Lv.1] 핸드폰 번호 가리기

by 블루데이제이 2025. 6. 9.
728x90
반응형
문제 설명

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

제한조건

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

입출력 예
phone_number	return
"01033334444"	"*******4444"
"027778888"	"*****8888"

내 풀이
Java
class Solution {
    public String solution(String phone_number) {
        String answer = "";
        
        answer += "*".repeat(phone_number.length() - 4);        
        answer += phone_number.substring(phone_number.length() - 4);
        
        return answer;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

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

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

728x90
반응형