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

2025. 5. 11. 23:12·알고리즘/문제풀이

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

문제

https://www.acmicpc.net/problem/14939

문제 분석

조건

  • `arr`: 길이 1 이상 15 이하의 정수 배열
  • 각 원소는 1 이상 100 이하의 자연수
  • 배열에 주어진 모든 수의 최소공배수를 구해라

풀이방법

  • 두 수의 최소공배수는 아래 공식을 사용해서 구할 수 있다.
    • `LCM(a, b) = (a * b) / GCD(a, b)`
  •  GCD는 유클리드 호제법으로 구할 수 있음
  • 배열의 최소공배수는 순차적으로 두 수씩 계산해 나가면 된다

코드

class Solution {
    public int solution(int[] arr) {
        int answer = 1;
        int size = arr.length;
        for (int i = 0; i < size; i++) {
            answer = (answer * arr[i]) / gcd(answer, arr[i]);
        }
        return answer;
    }

    private int gcd(int a, int b) {
        while (b != 0) {
            int temp = a % b;
            a = b;
            b = temp;
        }
        return a;
    }
}

 

728x90
저작자표시 비영리 변경금지 (새창열림)
'알고리즘/문제풀이' 카테고리의 다른 글
  • [백준/BOJ] 12865 평범한 배낭 - JAVA
  • [프로그래머스] 42892 길 찾기 게임 - JAVA
  • [프로그래머스] 86971 전력망을 둘로 나누기 - JAVA - Lv2
  • [백준/BOJ] 1240 노드사이의 거리 - JAVA
LIRI
LIRI
  • LIRI
    기록
    LIRI
  • 전체
    오늘
    어제
    • 분류 전체보기 (74)
      • 블로그 꾸미기 (0)
      • Spring (6)
      • 바이브코딩 (1)
      • React (3)
      • CS (0)
      • 알고리즘 (57)
        • 개념 (2)
        • 문제풀이 (54)
      • Java (1)
      • DB (1)
      • log (4)
        • SSAFY (3)
        • 궁금 (1)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 공지사항

  • 인기 글

  • 태그

    비트마스킹
    springboot
    LV2
    바이브코딩
    Security
    SSAFY 9기
    BOJ
    너비우선탐색
    싸피
    JWT
    프로그래머스
    LIS
    알고리즘 문제풀이
    dfs
    dp
    ssafy 합격 후기
    그리디
    SSAFY
    pccp모의고사
    느좋코딩
    Springsecurity
    커서ai
    백준
    최장증가부분수열
    Java
    BFS
    Spring
    알고리즘
    lv3
    리액트
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
LIRI
[프로그래머스] 11053 N개의 최소공배수 - JAVA
상단으로

티스토리툴바