이것또한 형변환과 길이에 대해 얼마나 잘 이해하고 있는지를 보여주는 알고리즘이다. 사실 이건 좀 힘들게 풀었다.. 뒤에자리 가리기가 내 생각만큼 잘 되지 않았다. 코드는 다음과 같다.
def mask_security_number(security_number): //비밀번호 함수 정의
num_list = list(security_number) // security번호를 list로 변환해준다.
for i in range(1, 5): // 1~5번째까지 num_list길이에서 하나씩 빼준다.
num_list[len(num_list) - i] = "*"
total = ""
for i in range(len(num_list)):
total += num_list[i]
return (total) //리스트를 문자열로 복구시켜줘서 결과값을 낸다.
print(mask_security_number("880720-1234567"))
print(mask_security_number("8807201234567"))
print(mask_security_number("930124-7654321"))
print(mask_security_number("9301247654321"))
print(mask_security_number("761214-2357111"))
print(mask_security_number("7612142357111"))
위의 코드의 결과는 다음과 같다.
결과값에서 뒤에 4자리수만 잘 가려짐을 볼 수 있다. 좀 더 가리고 싶으면 for문을 수정해줘서 가려주면 된다. list
와 문자열의 이해도가 있어야 풀 수 있는 문제였다.