-
[programmers/Swift] 이진 변환 반복하기Archive/Questions 2022. 8. 6. 09:55728x90
programmers.co.kr - 코딩테스트연습 - Lv.2 - 월간 코드 챌린지 시즌 1 - 이진 변환 반복하기
Constraints :
- s의 길이는 1 이상 150,000 이하입니다.
- s에는 '1'이 최소 하나 이상 포함되어 있습니다.
// // Created by Yongwoo Marco on 2022/08/04. // Copyright © 2022 Yongwoo Marco Kim. All rights reserved. // func solution(_ s:String) -> [Int] { var str = s, zeros = 0, round = 0 while str != "1" { let removed = str.filter { $0 == "1" }.map { String($0) }.joined() zeros += str.count - removed.count round += 1 str = String(removed.count, radix: 2) } return [round, zeros] } print(solution("110010101001")) // [3, 8] print(solution("01110")) // [3, 3] print(solution("1111111")) // [4, 1]
How I tried this :
변수를 좀 줄이면 좋을것 같긴한데, 직관적으로 풀었다특별한 고민없이 풀 수 있었다.
문제에 관한 모든 저작권 : https://programmers.co.kr/
728x90'Archive > Questions' 카테고리의 다른 글
[programmers/Swift] 콜라 문제 (0) 2022.11.05 [programmers/Swift] 단어 변환 (0) 2022.08.12 [programmers/Swift] 베스트앨범 (0) 2022.08.05 [programmers/Swift] 신고 결과 받기 (2022 Kakao Blind Recruitment) (0) 2022.08.04 [programmers/Swift] 점프와 순간 이동 (0) 2022.06.02