출처:프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12947
난이도:Lv.1
문제 설명
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
제한 조건
- x는 1이상, 10000 이하인 정수입니다.
입출력 예
x | return |
10 | true |
12 | true |
11 | false |
13 | false |
func solution(_ x: Int) -> Bool {
let numberString = String(x)
var digits = [Int]()
// 각 자리 숫자를 배열에 저장
for char in numberString {
if let digit = Int(String(char)) {
digits.append(digit)
}
}
// 각 자리 숫자의 합 구하기
var sum = 0
for digit in digits {
sum += digit
}
// 입력된 수 x가 각 자리 숫자의 합으로 나누어지는지 확인
if x % sum == 0 {
return true
} else {
return false
}
}
'Programmers' 카테고리의 다른 글
[iOS Swift] Lv.1 콜라츠 추측 (0) | 2024.05.13 |
---|---|
[iOS Swift] Lv.1 두 정수 사이의 합 (0) | 2024.05.13 |
[iOS Swift] Lv.1 정수 내림차순으로 배치하기 (0) | 2024.05.12 |
[iOS Swift] Lv.1 정수 제곱근 판별 (0) | 2024.05.10 |
[iOS Swift] Lv.1 문자열을 정수로 바꾸기 (0) | 2024.05.10 |