[프로그래머스] N개의 최소공배수 Level2 (자바,java)

[프로그래머스] N개의 최소공배수 Level2 (자바,java)

- 풀이

최대공배수는 두수를 곱한값에 최대공약수를 나눈값이다.

여러수의 최대 공약수를 먼저 구해줘야겠다고 생각했다.

BigInteger 클래스를 사용해서 최대공약수를 구하려고 했는데 문제는 N번째기 때문에 반복문을 돌려야했다.

고민을 하다가 처음값을 0번째 index값 으로 선언 해주고 for문을 돌려 최대공약수를 구한후 최대공배수를 구하면 되겠다고 생각했다.

테스트 케이스는 문제가없었는데 제출을하니 실패만나왔다..

public int solution(int[] arr) { int answer = arr[0]; int tmp=arr[0]; for (int i=1; i

무엇이 문제일까.. 다른 테스트 케이스를 넣어보았다.

{60,48,40}

60, 48, 40 의 최대공배수는 240인데 2400이 나왔다..

i가 돌때마다 tmp를 출력 해보니

12

4

2400

이 나왔다.

4..?

아! 최대공배수를 넘겨줘야 하는구나..

tmp를 answer로 바꾸고 최대공배수를 넣어주었는데 문제없이 됐다.

import java.math.BigInteger; class Solution { public int solution(int[] arr) { int answer = arr[0]; for (int i=1; i

from http://rotomoo.tistory.com/40 by ccl(A) rewrite - 2021-11-26 20:02:17