-
[프로그래머스] 하샤드 수 - JavaScript 📝Algorithm 2021. 11. 10. 23:22
[링크]
https://programmers.co.kr/learn/courses/30/lessons/12947
[문제설명 및 입출력 예]
[내가 제출한 코드 및 풀이]
💯 if-else 사용한 코드
function solution(x) { let numbers = x.toString().split(''); // x를 문자로 형변환 후 자리수로 split let sum = 0; // 자리수의 합계를 담는 변수 for(let i=0; i<numbers.length; i++){ // numbers 길이만큼 반복 sum += parseInt(numbers[i]) // numbers[i] -> 각 자리수 값을 정수형으로 변환 후 더하기 연산 } if(x % sum === 0) { // x를 sum으로 나눠서 나누어 떨어질 경우 return true; // return true }else { // x를 sum으로 나눠서 나누어 떨어지지 않을 경우 return false; // reutnr false } }
💯 삼항연산자 사용한 코드
function solution(x) { let numbers = x.toString().split(''); // x를 문자로 형변환 후 자리수로 split let sum = 0; // 자리수의 합계를 담는 변수 let result = 0; // return 할 결과 담는 값 for(let i=0; i<numbers.length; i++){ // numbers 길이만큼 반복 sum += parseInt(numbers[i]) // numbers[i] -> 각 자리수 값을 정수형으로 변환 후 더하기 연산 } x % sum === 0 ? result = true : result = false // x를 sum으로 나눠서 나누어 떨어지면 true, 아니면 false return return result; }
[다른 사람의 코드]
💡 Array 메서드인 reduce 사용한 코드
function Harshad(n){ return !(n%(n+'').split('').reduce(function (i, sum) {return +sum + +i;})); }
💡 reduce 와 화살표 함수 사용한 코드
function solution(x) { var answer = true; var n = String(x).split('').reduce((a, b) => Number(a) + Number(b)); answer = x % n == 0 ? true : false; return answer; }
'Algorithm' 카테고리의 다른 글
[프로그래머스] 제일 작은 수 제거하기- JavaScript 📝 (0) 2021.11.11 [프로그래머스] 정수 제곱근 판별 - JavaScript 📝 (0) 2021.11.11 [프로그래머스] 콜라츠 추측 - JavaScript 📝 (0) 2021.11.10 [프로그래머스] 자연수 뒤집어 배열로 만들기 - JavaScript 📝 (0) 2021.11.09 [프로그래머스] 정수 내림차순으로 배치하기 - JavaScript 📝 (0) 2021.11.09