IT/알고리즘
[코딜리티] - Lesson 11 ChocolatesByNumbers
남갯
2019. 10. 28. 21:36
SMALL
안녕하세요 남갯입니다.
boolean[] isEmpty = new boolean[N];
int index = 0;
int count = 0;
while (!isEmpty[index]) {
isEmpty[index] = true;
count++;
if (index + M > N - 1) {
index = (index + M) % N;
}else{
index += M;
}
}
return count;
위에는
OOM
public int solution(int N, int M) {
// write your code in Java SE 8
BitSet bitSet = new BitSet();
int index = 0;
int count = 0;
while (!bitSet.get(index)) {
bitSet.set(index);
count++;
if (index + M > N - 1) {
index = (index + M) % N;
} else {
index += M;
}
}
return count;
https://app.codility.com/demo/results/trainingX2JTBZ-8SA/
//유클리드 호제법을 통해 최대 공약수를 구함.
int temp = N;
int R = N / M;
if(M * R == N){
return R;
}
while (N % M != 0) {
R = N % M;
N = M;
M = R;
}
return temp / R;
LIST