Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

배우고 느낀 것들

주민번호 뒷자리 가리기 본문

파이썬/문제

주민번호 뒷자리 가리기

낑깡H 2023. 3. 22. 19:24

🍒 문제 링크 

코드잇

🍒 문제 분석

마지막 네 자리를 * 처리 해야함 

"-" 의 존재 여부에 따라 전체 길이가 달라지므로 끝에서부터 인덱싱 진행!

 

🍒 내 코드

def mask_security_number(security_number):
    # 여기에 코드를 작성하세요
    security_number = list(security_number)
    
    security_number[len(security_number) -1] = "*"
    security_number[len(security_number) -2] = "*"
    security_number[len(security_number) -3] = "*"
    security_number[len(security_number) -4] = "*"
    
    new_security_number = ''.join(security_number)
    
    return(new_security_number)
    
    
# 테스트 코드
print(mask_security_number("880720-1234567"))

 

🍓 내 해결 과정

문자열 -> 리스트로 변경 -> 각 원소 *로 변경 -> 다시 문자열로 합치기 

 

🌽 다른 사람 코드

    for i in range(len(num_list) - 4, len(num_list)):
        num_list[i] = "*"
        

total_str = ""

    for i in range(len(num_list)):
        total_str += num_list[i]

1. for 문으로 변경 간략하게 가능 

2. 리스트 -> 문자열로 바꾸기 : join 대신 += 로도 가능 

def mask_security_number(security_number):
    return security_number[:-4] + '****'

위의 과정 다 생략하고 슬라이싱을 통해서도 가능 : 제일 효율적!

 

🍉 깨달은 점 및 정리

 

 

 

Comments