728x90
문제
정수가 주어지면 정수를 구성하는 각 자릿수를 확인하고, 정수의 개수를 구하자
풀이
10으로 계속 나누는 식으로 각 자리 값을 확인한다.
( 배열에 저장하고 비교, 문자열로 인식하고 비교해도 될 것 같다 )
코드
int findDigits(int n) {
// n : 나눠야 할 수
int r = n;
int count = 0;
while(r > 0)
{
// 나머지가 0이 아니고 && 이전에 저장된적 있다면
if(r % 10 != 0 && n % (r % 10) == 0) count++;
r = r / 10; // 자리수대로 자르기
}
return count;
}
결과
728x90
반응형
'문제풀이 > C' 카테고리의 다른 글
[Hackerrank] Viral Advertising (0) | 2020.11.23 |
---|---|
[Hackerrank] Forming a Magic Square (0) | 2020.11.19 |
[Hackerrank] Bill Division (0) | 2020.11.19 |
[Hackerrank] Electronics Shop (0) | 2020.11.19 |
[Hackerrank] Compare the Triplets (0) | 2020.11.18 |