[프로그래머스][JS] N개의 최소공배수

2023. 9. 13. 11:40·IT/BOJ 문제정리

문제 설명

두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요.

제한 사항

  • arr은 길이 1이상, 15이하인 배열입니다.
  • arr의 원소는 100 이하인 자연수입니다.

솔루션(유클리드 호제법)

function gcd(a, b) {
    if (b === 0) return a;
    return gcd(b, a%b);
}

function solution(arr) {
    return arr.reduce((a, b) => a*b / gcd(a, b));
}
  • 두 수에 대한 최소공배수를 계속 갱신하면서 n개의 값에 대한 최소공배수를 계산하는 방법이다.
  • 유클리드 호제법을 사용하여 최대공약수를 구한다.

'IT > BOJ 문제정리' 카테고리의 다른 글

[프로그래머스][JS] n^2 배열 자르기  (0) 2023.09.19
[프로그래머스][JS] 할인 행사  (0) 2023.09.18
[프로그래머스][JS] 피보나치 수  (1) 2023.09.09
[프로그래머스][JS] 숫자의 표현  (0) 2023.09.06
[복기] 2252번: 줄 세우기  (0) 2023.05.17
'IT/BOJ 문제정리' 카테고리의 다른 글
  • [프로그래머스][JS] n^2 배열 자르기
  • [프로그래머스][JS] 할인 행사
  • [프로그래머스][JS] 피보나치 수
  • [프로그래머스][JS] 숫자의 표현
KimCookieYa
KimCookieYa
무엇이 나를 살아있게 만드는가
  • KimCookieYa
    쿠키의 주저리
    KimCookieYa
  • 전체
    오늘
    어제
    • 분류 전체보기 (572)
      • 혼잣말 (87)
      • TIL (2)
      • 커리어 (24)
        • Sendy (21)
        • 외부활동 기록 (2)
      • 프로젝트 (186)
        • 티스토리 API (5)
        • 코드프레소 체험단 (89)
        • Web3 (3)
        • Pint OS (16)
        • 나만무 (14)
        • 대회 (6)
        • 정글 FE 스터디 (16)
        • MailBadara (12)
        • github.io (1)
        • 인공지능 동아리, AID (5)
        • 졸업과제 (18)
        • OSSCA 2024 (1)
      • 크래프톤 정글 2기 (80)
      • IT (167)
        • 코딩 (4)
        • CS (18)
        • 에러 (5)
        • 블록체인 (23)
        • Front-End (38)
        • 알고리즘&자료구조 정리 (3)
        • 코딩테스트 (3)
        • BOJ 문제정리 (41)
        • WILT (12)
        • ML-Agents (4)
        • 강화학습 (1)
        • Android (0)
        • LLM (2)
      • 전공 (1)
        • 머신러닝 (1)
      • 자기계발 (20)
        • 빡공단X베어유 (2)
        • 독서 (15)
  • 블로그 메뉴

    • 홈
    • 방명록
    • Github
    • Velog
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    react
    블록체인
    해커톤
    MailBadara
    나만무
    NEAR Protocol
    위상정렬
    딥러닝
    자바스크립트
    RNN
    OS
    프로그래머스
    핀토스
    머신러닝
    Flutter
    니어프로토콜
    numpy
    docker
    글리치해커톤
    JavaScript
    리액트
    사이드프로젝트
    크래프톤정글
    파이썬
    졸업과제
    pintos
    Pint OS
    알고리즘
    코드프레소
    부산대
  • hELLO· Designed By정상우.v4.10.3
KimCookieYa
[프로그래머스][JS] N개의 최소공배수
상단으로

티스토리툴바