Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바스크립트
- JavaScript
- 메소드
- Nodejs
- reduce
- 타입스크립트
- Load Balancer
- TypeScript
- Node.js
- npm
- MYSQL
- JWT
- AWS
- 생활코딩
- CORS
- 노마드코더
- ubuntu
- wil
- 프로그래머스
- 항해99
- nomadcoder
- https
- mongodb
- nginx
- java
- 조건문
- elb
- Joi
- it
- mongoose
Archives
- Today
- Total
V-logue
[항해99] 프로그래머스 - 하샤드 수 본문
에.. 대충 어떤 문제냐면,
이런 문제다.
function solution(x) {
var arr = (x+"").split("").map(Number)
for (let i=0; i< arr.length ; i++)
if (parseInt(x) % arr.reduce((acc , cur) => acc+cur) === 0) {
return true
} else if (parseInt(x) % arr.reduce((acc , cur) => acc+cur) !== 0){
return false
}
}
이전에 사용했던 reduce함수를 다시 사용하면 되는데, 하샤드 수가 18이라고 치면 1+8 =9고
18 % 2 === 0 이 되야하기 때문에, 일단 18이라는 수를 나눠줄 필요가 있다.
(x+"").split("")은 그런 의미에서 들어간 것이고, 결국 숫자의 합이기 때문에 문자열을 map(Number)를 통해
다시 숫자로 바꿔줄 필요가 있다.
x는 1이상 10000이하의 양의 정수라고 했으나 딱히 중요한 것 같지 않으니 패스했고
parseInt로 x가 정수라는 것만 표현했다.
그 이후는 생략하겠다.
=== 0 이나오면 true // !== 0 이면 false
'항해 99 > 프로그래머스 Algo' 카테고리의 다른 글
[항해99] 프로그래머스 - 자연수 뒤집어 배열로 만들기 (0) | 2022.05.17 |
---|---|
[항해99] 프로그래머스 - 정수 제곱근 판결 (0) | 2022.05.17 |
[항해99] 프로그래머스 - 자릿수 더하기 (0) | 2022.05.17 |
[항해99] 프로그래머스 - 내적 (0) | 2022.05.16 |
[항해99] 프로그래머스 - 나누어 떨어지는 숫자 배열 (0) | 2022.05.16 |
Comments