C# 알고리즘 - 하샤드 수
작성자 정보
- 마스터 작성
- 작성일
본문
[문제 설명]
정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.
[제한사항]
x는 1 이상, 10000 이하인 정수입니다.
[입출력 예]
[입출력 예 설명]
입출력 예 #1
10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다.
입출력 예 #2
12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다.
입출력 예 #3
11의 모든 자릿수의 합은 2입니다. 11는 2으로 나누어 떨어지므로 11는 하샤드 수가 아닙니다.
입출력 예 #4
13의 모든 자릿수의 합은 4입니다. 13는 4으로 나누어 떨어지므로 13는 하샤드 수가 아닙니다.
[코드]
using System;
public class Solution {
public bool solution(int x) {
bool answer = true;
string xx = x.ToString();
int sum = 0;
for (int i = 0; i < xx.Length; i++)
{
sum += (int)Char.GetNumericValue(xx[i]);
}
return answer = x % sum == 0 ? true : false;
}
}
[풀이]
1.int x 를 스트링에 담기
string xx = x.ToString();
2.문자열을 더할 값을 저장할 변수 선언
int sum = 0;
3,for문으로 돌려서 값을 sum에 더하기
for (int i = 0; i < xx.Length; i++)
{
sum += (int)Char.GetNumericValue(xx[i]);
}
4.x % sum == 0이면 참 아니면 거짓
return answer = x % sum == 0 ? true : false;
[주소]
https://school.programmers.co.kr/learn/courses/30/lessons/12947
해당 알고리즘 문제는 프로그래머스의 알고리즘 문제입니다.
관련자료
-
이전
-
다음