프로그래머스 Java : N개의 최소공배수

2026. 10. 27. 22:24·Programmers/Java, Ruby

https://school.programmers.co.kr/learn/courses/30/lessons/12953

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


...사실 이러면 안 되지만 숫자 범위가 완전 만만하기 때문에 그냥 반복문 돌렸어여

아니? 안 될 일은 아니지?

 

import java.util.*;
class Solution {
    public int solution(int[] arr) {
        int answer = 0;
        Arrays.sort(arr);
        int t = arr[0];
        while(true){
            boolean p = true;
            for(int i=0;i<arr.length;i++)
                if(arr[i]%t!=0) p=false;
            if (p) break;
            t--;
        }
        answer=t;
        while(true){
            boolean p = true;
            for(int i=0;i<arr.length;i++)
                if(answer%arr[i]!=0) p=false;
            if (p) break;
            answer+=t;
        }
        return answer;
    }
}

 

근데 안 하는 게 좋고요

유클리드 호제법을 사용합시다.

class Solution {
    public int solution(int[] arr) {
        int lcm = arr[0];
        
        for (int i = 1; i < arr.length; i++) {
            lcm = getLcm(lcm, arr[i]);
        }
        
        return lcm;
    }

    // 최소공배수 = (a * b) / 최대공약수
    private static int getLcm(int a, int b) {
        return (a * b) / getGcd(a, b);
    }

    // 유클리드 호제법 (최대공약수)
    private static int getGcd(int a, int b) {
        while (b != 0) {
            int r = a % b;
            a = b;
            b = r;
        }
        return a;
    }
}

 

외워야하는데 잘 안 댐 맘처럼 그게 되는 게 아냐

'Programmers > Java, Ruby' 카테고리의 다른 글

프로그래머스 Java : 문자와 소문자  (0) 2026.10.30
프로그래머스 Java : 연속 부분 수열 합의 개수  (0) 2026.10.27
프로그래머스 Java : 점프와 순간 이동  (0) 2026.10.27
프로그래머스 Java : 멀리 뛰기  (0) 2026.10.26
프로그래머스 Java : 구명보트  (0) 2026.10.26
'Programmers/Java, Ruby' 카테고리의 다른 글
  • 프로그래머스 Java : 문자와 소문자
  • 프로그래머스 Java : 연속 부분 수열 합의 개수
  • 프로그래머스 Java : 점프와 순간 이동
  • 프로그래머스 Java : 멀리 뛰기
YYun
YYun
주로 오답노트
  • YYun
    빙글빙글
    YYun
  • 전체
    오늘
    어제
    • 분류 전체보기 (167) N
      • BOJ (17)
        • Java (9)
        • Ruby (8)
      • Programmers (130) N
        • MySQL (43)
        • Java, Ruby (87) N
      • 잡담 (2)
      • FHIR (8)
      • AWS (8)
      • 그 외 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 공지사항
  • 인기 글

  • 태그

    최소공배수
    루비
    HashSet
    mysql
    프로그래머스
    피보나치수
    이진수
    소수판별
    재귀
    DP
    자바
    group by
    문자열
    date_format
    Ruby
    백준
    IFNULL
    aws
    Like
    java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
YYun
프로그래머스 Java : N개의 최소공배수
상단으로

티스토리툴바