[Algorithm] 하샤드 수

2024. 12. 11. 12:23·Algorithm/Practice

문제 설명

양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다.

예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다.

자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.

 

문제 유형

  • 숫자의 자리값 구하기
  • 나누어 떨어지는지 확인하기

 

의사코드

  1. 결과값을 저장할 변수(result)를 선언한다.
  2. 자릿수 합을 저장할 변수(sum)을 선언한다.
  3. [반복문] x > 0 이면 반복한다.
    1. x를 10으로 나누어 변수(remain)에 저장한다.
    2. sum에 remain을 더한다.
    3. x를 10으로 나눈다.
  4. 만약 입력값(x)를 sum으로 나눈 나머지가 0이라면
    1. result을 true로 설정한다.
  5. 결과값(result)를 반환한다.

 

코드 작성

bool solution(int x) {
    bool result = false;
    int sum = 0;
    int originalX = x;
    
    while (x > 0)
    {
        int remain = x % 10;
        sum += remain;
        x /= 10;
    }
    
    if (originalX % sum == 0)
        result = true;
    
    return result;
}

'Algorithm > Practice' 카테고리의 다른 글

[Algorithm] 콜라츠 추측  (0) 2024.12.12
[Algorithm] 두 정수 사이의 합  (0) 2024.12.11
[Algorithm] 정수 내림차순으로 배치하기  (0) 2024.12.11
[Algorithm] 정수 제곱근 판별  (1) 2024.12.10
[Algorithm] 문자열을 정수로 바꾸기  (1) 2024.12.10
'Algorithm/Practice' 카테고리의 다른 글
  • [Algorithm] 콜라츠 추측
  • [Algorithm] 두 정수 사이의 합
  • [Algorithm] 정수 내림차순으로 배치하기
  • [Algorithm] 정수 제곱근 판별
DevColIn
DevColIn
복잡함을 단순하게
  • DevColIn
    심플한 코딩생활
    복잡함을 단순하게
  • 전체
    오늘
    어제
    • 전체보기 (223)
      • Unreal 부트캠프 (49)
        • TIL (34)
        • 사전캠프 (7)
        • 본캠프 (8)
      • Unrael (10)
        • 환경설정 (0)
        • Basic (19)
        • Component (5)
        • GAS (GameplayAbilitySystem) (3)
        • AI (2)
        • Implement (10)
        • UI (1)
        • Error (1)
        • Network (2)
        • Tip (1)
      • Level Design (5)
      • Math (1)
      • Design Pattern (16)
      • Computer Science (2)
        • Network (1)
        • Database (1)
      • Algorithm (79)
        • Basic (4)
        • Practice (74)
      • C++ (4)
        • Basic (4)
      • Tool (0)
      • Game (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    actor
    액터
    GameplayEffect
    component
    하드 레퍼런싱
    디자인 패턴
    Til
    gas
    KPT회고
    Design Pattern
    Implement
    본캠프
    내일배움캠프
    DesignPattern
    tsoftobjectptr
    unrealengine
    assetmanager
    unreal
    게임동기화
    레벨디자인
    사전캠프
    소프트 레퍼런신
    디자인패턴
    알고리즘
    Animation
    AI
    Algorithm
    c++
    퀘스트
    basic
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
DevColIn
[Algorithm] 하샤드 수
상단으로

티스토리툴바