스파르타 코딩 클럽 - iOS 스타터 6기/알고리즘 코드카타

20. 스파르타 코딩 클럽 - 4월 7일 코딩테스트 연습 (코드카타)

seongpil Heo 2025. 4. 7. 20:10

 ❓ 오늘의 문제

1. 핸드폰 번호 가리기

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

핸드폰 번호 가리기

나의 정답 코드

func solution(_ phone_number:String) -> String {
    guard phone_number.count >= 4 && phone_number.count <= 20 else { return "" } 
    
    var result = Array(phone_number)
    
    for i in 0..<result.count - 4 {
        result[i] = "*"
    }
    
    return String(result)
}

 ✓ TIL

오늘은 핸드폰 번호 가리기 문제를 풀어보았다.

문자열 phone_number가 주어졌을 때 전화번호의 뒷 4자리를 제외하고 나머지 숫자를 전부 *로 변경하여 return 하면 되는 문제이다.

 

처음 문제를 보고 replace 함수를 이용해야겠다 생각했었는데

범위를 설정하고 난 뒤 어떤 문자를 *로 변경해라 라는 조건에서 막혀 문제를 풀지 못하였다.

 

그래서 함수를 사용하지 않고 문제를 풀어보기로 했다.

for 문 안에서 result배열의 크기 -4만큼 반복문을 돌리면서

result[i]를 사용하여 인덱스에 접근해서 해당 인덱스의 값을 *로 변경하였다.

 

for문으로 쉽게 문제가 풀려서 굳이 함수를 사용했어야 했나 싶다...

이번 주는 팀 프로젝트를 진행하는 날이다.

금요일까지 열심히 해서 잘 마무리했으면 좋겠다!


 😼 GitHub