[level 1] 하샤드의 수

2022. 1. 10. 11:45·알고리즘/JavaScript

문제

 

풀이 코드

function solution(x) {
  let stringTox = x + '';
  let sum;
  sum = stringTox.split('').reduce((s, current) => s + current * 1, 0);

  return x % sum === 0;
}

 

풀이 과정

문자열 함수, 배열 함수를 사용하여 구현 하였다!

 

1) x 에 '' 빈 문자를 더하여 String 으로 변환하고, 이를 stringTox 변수에 담았다.

2) split 함수를 이용해 문자열의 각 요소를 배열로 만들었고, 해당 배열을 reduce 함수를 통해 모두 더해주었다, 더한 값을 sum 에 저장

3) x 와 sum 과의 나머지 연산에서 나머지가 없으면 하샤드 수 true 를 반환하게 구현했다.

 

슬슬 자바스크립트의 문자열과 배열의 함수에 대해 조금씩 익숙해 지고 있는거 같아 뿌듯하다!!! ㅎㅎ

 

다른사람의 코드

function solution(x) {
    let num = x;
    let sum = 0;
    do {
        sum += x%10;
        x = Math.floor(x/10);
    } while (x>0);

    return !(num%sum);
}

함수를 사용해서 구현하는것도 좋지만, 

반응을 보니 아무래도 수학적으로 접근하는게 더 빠르다고 한다

 

물론 이런 간단한 문제에서는 효율이 차이가 나봤자 이지만

프로그래밍적으로 생각하면 속도도 중요하니 너무 함수에 의존하면 안되겠다.

'알고리즘/JavaScript' 카테고리의 다른 글
  • [level 1] 최대공약수와 최소공배수
  • [level 1] 콜라츠 추측
  • [level 1] 핸드폰 번호 가리기
  • [level 1] 문자열을 정수로 바꾸기
Jeohong
Jeohong
기억 보단 기록을
  • Jeohong
    Chikong Devlog
    Jeohong
  • 전체
    오늘
    어제
    • 분류 전체보기 (186) N
      • ---- 개발 컨텐츠 ---- (0)
      • iOS (30)
        • Swift 문법 (1)
        • iOS 개념 (12)
        • HIG (5)
        • SwiftUI (7)
        • UIKit (4)
      • Side Project (0)
      • 개발서적 (4)
        • 객체지향 사실과 오해 (4)
      • 알고리즘 (74) N
        • 자료구조 개념 (2)
        • Swift (25) N
        • JavaScript (47)
      • ---- 회고 계획 컨텐츠 ---- (0)
      • 계획 및 일기 (10)
      • 회고록 (1)
      • 컨퍼런스 탐방 (1)
      • 미드로 영린이 탈출하기 (1)
      • ---- Previous content ---- (0)
      • Frontend (2)
        • HTML & CSS (2)
      • KITRI 수업 (17)
        • 리눅스 (14)
        • 네트워크 (2)
      • 42seoul (17)
        • Bonr2code (9)
        • 넋두리 (7)
        • 멘토특강 (1)
      • 해킹 실습 (20)
        • 해커스쿨 - F.T.Z (19)
        • WebGoat (1)
      • Tensorflow로 시작하는 NLP (1)
        • 예제 (1)
      • 자연어처리 입문 (1)
        • 이론 (1)
      • 텐서플로로 배우는 딥러닝 (7)
        • 이론 (2)
        • 예제 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    네트워크
    코딩
    42서울
    알고리즘
    백준
    라피신
    swift
    boj
    자료구조
    스위프트
    IOS
    개발자
    42seoul
    프로그래머스
    SwiftUI
    Algorithm
    hig
    본과정
    1서클
    javascript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Jeohong
[level 1] 하샤드의 수
상단으로

티스토리툴바