-
[programmers/Swift] 하샤드 수Archive/Questions 2022. 4. 23. 16:26728x90
programmers.co.kr - 코딩테스트연습 - Lv.1 - 연습문제 - 하샤드 수
Constraints :
- x는 1 이상, 10000 이하인 정수입니다.
// // Created by Yongwoo Marco on 2022/04/15. // Copyright © 2022 Yongwoo Marco Kim. All rights reserved. // func solution(_ x:Int) -> Bool { let sumOfDigits = String(x).compactMap { Int(String($0)) }.reduce(0, +) return x % sumOfDigits == 0 } print(solution(10)) // true print(solution(12)) // true print(solution(11)) // false print(solution(13)) // false
How I tried this :
입력된 Int 수를 String 문자열로 변환 후문자열의 각 Index에 수(각 자리수)를 합하고 해당 수를 입력된 값으로 나누어 떨어지는지 확인
강제 언래핑 때문에 런타임 에러가 1개 나와서
강제 언래핑을 삭제하는 형태로 구현
// 런타임 에러 버전 let sumOfDigits = String(x).reduce(0) { $0 + Int(String($1))! } // compactMap으로 에러처리 후, 자리 수 합 구함 let sumOfDigits = String(x).compactMap { Int(String($0)) }.reduce(0, +)
문제에 관한 모든 저작권 : https://programmers.co.kr/
728x90'Archive > Questions' 카테고리의 다른 글
[programmers/Swift] 콜라츠 추측 (0) 2022.04.25 [programmers/Swift] 평균 구하기 (0) 2022.04.24 [programmers/Swift] 행렬의 덧셈 (0) 2022.04.18 [programmers/Swift] x만큼 간격이 있는 n개의 숫자 (0) 2022.04.18 [programmers/Swift] 직사각형 별찍기 (0) 2022.04.18