728x90
프로그래머스 이진 변환 반복하기
주어진 문자열에서 0을 제거하고, 1의 개수를 2진수로 표현하는 것을 문자열이 “1”이 될 때 까지 반복하는 문제
String의 진수 변환을 사용해서 구현
func solution(_ s:String) -> [Int] {
var answer = [0, 0]
var s = s
while(s != "1") {
answer[0] += 1
answer[1] += s.filter { $0 == "0" }.count
s = String(s.filter { $0 == "1" }.count, radix: 2)
}
return answer
}
// s result
// "110010101001" [3,8]
// 111111 [1, 6] -> 110
// 11 [2, 7] -> 10
// 1 [3, 8]
// "01110" [3,3]
// "1111111" [4,1]
728x90
'Algorithm' 카테고리의 다른 글
SwiftUI: 피보나치 수 (0) | 2024.03.15 |
---|---|
SwiftUI: 다음 큰 숫자 (0) | 2024.03.14 |
SwiftUI: 올바른 괄호 (0) | 2024.03.12 |
SwiftUI: 최솟값 만들기 (0) | 2024.03.11 |
SwiftUI: JadenCase 문자열 만들기 (0) | 2024.03.09 |