728x90
반응형
문제 풀기 전 생각 :
/*
입력받은 숫자를 문자열로 변환 후
각 문자열의 캐릭터마다 '0'을 뺀 값을 변수 n에 더하고
만약 x%n 이 0이라면 하샤드 수이고
아니라면 하샤드 수가 아니다
*/
#include <iostream>
#include <string>
using namespace std;
bool solution(int x) {
string s = to_string(x);
int n = 0;
for(int i=0 ; i<s.length() ; i++){
n += (int)(s[i] - '0');
}
if(x%n == 0) return true;
return false;
}
https://programmers.co.kr/learn/courses/30/lessons/12947
풀 때 어려웠던 점 또는 느낀점 :
이 문제도 어렵지 않았다.
요즘 날씨가 너무 더워서 문제 풀기가 너무 힘들다
기운이 없고 머리가 안 돌아간다.
제발 날씨야 풀려라...
개선방안 :
#include <string>
#include <vector>
using namespace std;
bool solution(int x) {
bool answer = true;
int nTemp = x;
int nSum = 0;
while (nTemp > 0)
{
nSum += nTemp % 10;
nTemp /= 10;
}
return x % nSum == 0 ? true : false;
}
아스키 코드와 문자열을 사용하지 않고
나누기와 나머지를 활용해 푼 듯 하다
이렇게 푸는 방법도 있구나~ 나쁘지 않다.
728x90
반응형
'Problem Solving' 카테고리의 다른 글
[C++] [백준 1476] 날짜 계산 (pps 4-9) (0) | 2021.07.18 |
---|---|
[C++] [백준 1712] 손익분기점 (pps 4-8) (0) | 2021.07.18 |
[C++] [leetCode 258] Add Digits (pps 4-6) (1) | 2021.07.18 |
[C++] [LeetCode 342] Power of Four (ops 4-5) (0) | 2021.07.17 |
[C++] [백준 2775] 부녀회장이 될테야 (pps 4-4) (0) | 2021.07.17 |
댓글