앞으로 매일 꾸준히 코딩테스트를 진행하면서 단계를 높여가보자.
머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
1 ≤ n ≤ 100

class Solution {
public int solution(int n) {
int answer = 0;
for (int i = 1; i <= 6 * n; i++) {
if (6 * i % n == 0) {
answer = i;
break;
}
}
return answer;
}
}
최소 판 수(answer)는 각 피자판(i) 마다 한명의 사람이 먹게 되는 피자 조각 수가 인원수(n)로 나누어 떨어지는지 확인하여 구한다.
1) 반복문으로 피자판 수를 하나씩 증가시킨다. 각 피자판에는 6개의 조각이 있으므로, i를 1부터 6n까지 반복한다.
2) 각 피자판(i)마다 피자 조각 수를 인원 수로 나눈 나머지를 확인해서 나머지가 0이라면 현재 피자의 조각 수로 모든 사람이 동일한 양을 먹을 수 있다.
3) 나머지가 0이라면, 현재 피자 조각 수(i)를 최소 피자판 수로 선택하고 종료한다.
모든 경우의 수를 확인하기 위해서 1부터 6n까지 검사하기 때문에 성능이 좋지 않을 수 있다. 하지만 다른 방법으로는 테스트를 통과하지 못해서 고민을 해보야겠다.