Where who wants to meet someone

핸드폰 번호 가리기 본문

프로그래머스 알고리즘 문제 기록/Lv. 1

핸드폰 번호 가리기

Lust3r 2024. 5. 14. 11:49
728x90

문제

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

 

프로그래머스

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

programmers.co.kr

 

 

내 답안 / 다른 사람들의 답안

func solution(_ phone_number:String) -> String {
    return phone_number.enumerated().map { $0.offset < phone_number.count - 4 ? "*" : String($0.element) }.joined()
}

- 필요한 만큼만 변경하면 되기 때문에 enumerated로 element와 offset의 짝으로 묶고, offset이 phone_number의 뒷 네자리 위치가 아니라면 마스킹을, 맞다면 원래 문자를 담아 joined로 String화 한 뒤 반환했다.

 

// 풀이 1
func solution(_ phone_number:String) -> String {
    return String("\(String(repeating: "*", count: phone_number.count - 4))\(phone_number.suffix(4))")
}

// 풀이 2
func solution(_ phone_number:String) -> String {
    return String(repeating:"*", count:phone_number.count-4)+phone_number.suffix(4)
}

- Array(repeating, count)와 replace 등을 시도하다가 실패했는데, String의 repeating과 suffix를 활용해서 풀 수 있음을 알게 되었다.

 

점수: +1

'프로그래머스 알고리즘 문제 기록 > Lv. 1' 카테고리의 다른 글

가운데 글자 가져오기  (0) 2024.05.14
제일 작은 수 제거하기  (0) 2024.05.14
콜라츠 추측  (0) 2024.05.14
나누어 떨어지는 숫자 배열  (0) 2024.05.14
없는 숫자 더하기  (0) 2024.05.13