프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12948
풀이
func solution(_ phone_number:String) -> String {
let openNumber = phone_number.suffix(4)
var star = ""
(phone_number.prefix(phone_number.count-4)).map { _ in star += "*" }
return String("\(star)\(openNumber)")
}
중요 개념
- Index를 기준으로 문자를 자를 수 있는 메서드가 있다
- prefix(_:) -> 문자열의 앞부분부터 자른다
- https://developer.apple.com/documentation/swift/string/prefix(_:)
- suffix(_:) -> 문자열의 뒷부분부터 자른다
- https://developer.apple.com/documentation/swift/string/suffix(_:)
다른 사람의 풀이
func solution(_ phone_number:String) -> String {
return String("\(String(repeating: "*", count: phone_number.count - 4))\(phone_number.suffix(4))")
}
- init(repeating:count:) -> 문자열을 주어진 횟수만큼 반복하는 메서드
- 나도 찾아서 썼던 건데.. 잊어버렸었다. 코드의 길이 차이가 대박이다. 배운건 확실히 기억하는게 중요하다는 걸 다시 절감했다.
'알고리즘 > Programmers' 카테고리의 다른 글
[Swift_Programmes] 가운데 글자 가져오기 (1) | 2023.11.27 |
---|---|
[Swift_Programmes] 없는 숫자 더하기 (2) | 2023.11.23 |
[Swift_Programmes] 음양 더하기 (0) | 2023.11.23 |
[Swift_Programmes] 나누어 떨어지는 숫자 배열 (0) | 2023.11.22 |
[Swift_Programmes] 서울에서 김서방 찾기 (0) | 2023.11.22 |