์ฒด๊ฐ Level : โ
โ
โ
Review: ์ฌํ ๋ฐฐ์ด ์ต๋๊ณต์ฝ์, ์์ธ์๋ถํด, ๊ธฐ์ฝ๋ถ์ ๋ชจ๋ ์ฌ์ฉํ๋ ์ฝ๋ฉ |
๐ก ์์์ ์๋ ์ซ์๊ฐ ๊ณ์๋์ง ์๊ณ ์ ํ๊ฐ์ธ ์์๋ฅผ ์ ํ์์๋ผ๊ณ ํฉ๋๋ค. ๋ถ์๋ฅผ ์์๋ก ๊ณ ์น ๋ ์ ํ์์๋ก ๋ํ๋ผ ์ ์๋ ๋ถ์์ธ์ง ํ๋ณ , a/b๊ฐ ์ ํ์์์ด๋ฉด 1์, ๋ฌดํ์์๋ผ๋ฉด 2
import java.util.ArrayList;
class Solution {
public int solution(int a, int b) {
int answer = 0;
ArrayList <Integer> ans = new ArrayList<>();
int x = a;
int y = b;
// ์ต๋ ๊ณต์ฝ์ ๊ตฌํ๊ธฐ => ์ ํด๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
while (x != 0) {
int temp = x;
x = y % x;
y = temp;
}
// ๋ถ์,๋ถ๋ชจ๋ฅผ ์ต๋๊ณต์ฝ์๋ก ๋๋ ์ฃผ๋ฉด => ๊ธฐ์ฝ๋ถ์
int x1 = a/y;
int y1 = b/y;
//์์ธ์๋ถํด
int i = 2;
while ( y1 != 1){
if ( y1 % i == 0) {
y1 = y1 / i;
if (!ans.contains(i)){
ans.add(i);
}
}
else {
i ++;
}
}
// ์์ธ์๋ถํด๊ฒฐ๊ณผ๊ฐ 2 ๋๋ 5
for (int n : ans ){
if (n == 2 || n == 5){
answer = 1;
}else {
answer = 2;
break;
}
}
//
if ( b == 1 || a%b == 0){
answer = 1;
}
return answer;
}
}