https://programmers.co.kr/learn/courses/30/lessons/12947
코딩테스트 연습 - 하샤드 수
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하
programmers.co.kr
내가푼 방법:
접근
두자리수의 각각 숫자를 더한값에 원래 값을 나눴을때 나머지가 있는지 없는지에 따라 true, false를 반환하는것을 생각
정수로 받기때문에, 각 숫자를 나누기위해서 string으로 만들어주고, 자릿수마다 들어간 값을 하나하나 더한것을 기존 숫자와 나눈것에서 반환값을 만듬, 제한을 체크 1이상 10000이하
풀이
2줄.
자릿수를 나누고 그 자릿수에 해당하는 값들을 더한것을 담을 변수 선언
4줄.
제한규칙 입력값이 1이상 10000이하를 if문을 통해 체크
5줄~6줄.
입력값이 number 타입이므로 string으로 바꾸고 reduce를 이용해 각 index에 가진 값들을 다시 number로 바꾼다음 더해주고, 최종적으로 나온 arr2를 arr과 나눠 나눈 나머지값이 0이면 true, 아니면 false 리턴
'공부 > 알고리즘&자료구조' 카테고리의 다른 글
항해99 문제31번풀이 (같은 숫자는 싫어,프로그래머스) (0) | 2021.11.11 |
---|---|
항해99 문제30번풀이 (최소직사각형,프로그래머스) (0) | 2021.11.11 |
항해99 문제27번풀이 (콜라츠 추측,프로그래머스) (0) | 2021.11.11 |
항해99 문제33번풀이 (로또의 최고 순위와 최저 순위,프로그래머스) (0) | 2021.11.11 |
항해99 문제26번풀이 (제일 작은수 제거하기,프로그래머스) (0) | 2021.11.10 |