최대 1 분 소요

수학 문제

문제링크

풀이 접근

  1. 최대공약수를 구한다.
  2. 구해놓은 최대공약수로 최소공배수를 다시 구하면 끝

구현 코드

class Solution {
    public int solution(int[] arr) {
int answer = 0;
    int lcmResult = calculateLCM(arr);
    return lcmResult;
  }

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

  // 최소공배수 계산하는 메서드
  public static int lcm(int a, int b) {
    return (a * b) / gcd(a, b);
  }

  // N개의 숫자들의 최소공배수 계산하는 메서드
  public static int calculateLCM(int[] numbers) {
    int result = numbers[0];
    for (int i = 1; i < numbers.length; i++) {
      result = lcm(result, numbers[i]);
    }
    return result;
  }
}


정리

  1. 맨날까먹는 수학문제인데 그냥 외워야 할 거 같다 ㅜ

댓글남기기