728x90
▶문제 : 코딩 테스트 연습 - 하샤 드 수 | 프로그래머스 (programmers.co.kr)
▶코드 작성
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
bool solution(int x)
{
int sum = 0, temp = x;
while (temp != 0)//0이 될 때까지
{
sum += temp % 10;//일의 자리 수 더해줌
temp /= 10;//10으로 나누어 다음 자릿수로 이동
}
return (x % sum == 0) ? true : false;//x를 각 수의 합 sum으로 나누어 떨어질 때 true
}
▶해석
x를 temp에 대입하고 while문으로 temp을 0이 될 때까지 temp%10으로 일의 자리 수를 sum에 더하고 temp/=10으로 다음 자릿수로 이동하면서 이를 반복하여 각 자릿수들의 합을 구한다. x가 sum으로 나누어 떨어질 때 true를 반환하고 아니면 false를 반환한다.
728x90
'프로그래머스 > C' 카테고리의 다른 글
프로그래머스 Level 1 : 직사각형 별찍기 C언어 (0) | 2021.12.24 |
---|---|
프로그래머스 Level 1 : 핸드폰 번호 가리기 C언어 (0) | 2021.12.24 |
프로그래머스 Level 1 : 평균 구하기 C언어 (0) | 2021.12.20 |
프로그래머스 Level 1 : 콜라츠 추측 C언어 (0) | 2021.12.20 |
프로그래머스 Level 1 : 짝수와 홀수 C언어 (0) | 2021.12.20 |
댓글