프로래머스-하샤드 수

효딩딩·2023년 12월 10일
0

문제

풀이

  • 1) 파라미터 x를 각 자릿수로 분리하기 위해 Int type인 x를 String type 으로 변환하여 str 변수에 할당하였습니다.
  • 2) 각 자릿수를 뽑아 합을 내기 위해 for문을 통해 i값을 가져와 if let 바인딩을 통해 Optional type -> Int type 으로 변환하여 num이라는 상수에 할당하였습니다.(i는 Character type이기 때문에 Int로 변환하기 위해 String -> Int 순으로 변환하였습니다.)
  • 3) sum이라는 변수를 만들어 num을 할당하였습니다.
  • 4) 삼항연산자를 통해 Bool Type인 return 값에 맞게 x를 sum으로 나누었을 때 나머지가 0인경우 true 0이아닌경우 false를 return 합니다.
func solution(_ x:Int) -> Bool {
     var str: String = String(x)
    var sum = 0
    for i in str {
        if let num = Int(String(i)) {
            sum += num
        }
            
    }
  return  x  % sum == 0 ? true : false
}
solution(10)
solution(12)
solution(11)
solution(13)
profile
어제보다 나은 나의 코딩지식

0개의 댓글