반응형

안녕하세요. 개발 중인 정주입니다.

 

오늘은 프로그래머스(Lv.1) - 하샤드 수 문제를 풀었습니다.

 


목차


    Github

     

    GitHub - jeongju9216/SwiftAlgorithm: 스위프트 알고리즘

    스위프트 알고리즘. Contribute to jeongju9216/SwiftAlgorithm development by creating an account on GitHub.

    github.com

     

    문제 링크

    https://programmers.co.kr/learn/courses/30/lessons/12947

     

    코딩테스트 연습 - 하샤드 수

    양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하

    programmers.co.kr

     


    풀이

    s를 String으로 바꾼 뒤 reduce를 이용해 각 원소를 더해줍니다.

    x가 합으로 나누어 떨어지는지를 return하면 됩니다.

     


    전체 코드

    
          
    func solution(_ x:Int) -> Bool {
    let sum = String(x).reduce(0) {
    $0 + Int(String($1))!
    }
    return x % sum == 0
    }

    아직은 초보 개발자입니다.

    더 효율적인 코드 훈수 환영합니다!

    공감 댓글 부탁드립니다.

     

     

    반응형
    유정주