• Jan
  • Feb
  • Mar
  • Apr
  • May
  • Jun
  • Jul
  • Aug
  • Sep
  • Oct
  • Nov
  • Dec
  • Sun
  • Mon
  • Tue
  • Wed
  • Thu
  • Fri
  • Sat
  • 27
  • 28
  • 29
  • 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

#12947 하샤드 수

image

문제 정리

10의자리 100의자리 이런거 다 더해서 원래 수에 나눠보기

생각해보기

10의 자리 -> 10으로 나눠서..나머지 뭐 이렇게 하면 될듯? 큰 자리수부터
근데 12345 이런 수를 배열같은데다 넣어서 arr[0] = 1, arr[1] = 2 이렇게 할 수 있는 방법은 없나?
string이런걸로 변환해야 하나 to_string 이용해서??

코드 쓰기

string str1 = to_string(12345);
str1.at(index); // char 반환
str1.size();

내 풀이

#include <string>
#include <vector>

using namespace std;

bool solution(int x) {
    bool answer = true;

    string str1 = to_string(x);
    vector<int> arr;

    for(int i=0; i<str1.size(); i++){
        int num = str1.at(i) - '0';
        arr.push_back(num);
    }

    // sum 구하기
    int sum=0;
    for(int i: arr){
        sum+=i;
    }

    // 나눠보기
    if(x % sum == 0){
        answer = true;
    } else {
        answer = false;
    }

    return answer;
}

풀고 나서 알게된 것

-