문제 - 피자 나눠 먹기(1)

풀이
class Solution {
public int solution(int n) {
int answer = 0;
if (n >= 1 && n <= 100) {
if (n % 7 == 0) {
answer = n / 7;
}
else {
answer = n / 7 + 1;
}
}
return answer;
}
}
문제 - 피자 나눠 먹기(2)

풀이
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;
}
}
설명
- n명이 모두 동등하게 피자를 먹어야한다.
- 1판에 6조각이므로 6 * n 해서 나머지가 0이 될 때까지 for문 반복
- 나머지가 0이 되는 숫자가 최소로 필요한 피자 판 수가 된다.
문제 - 피자 나눠 먹기(3)

풀이
class Solution {
public int solution(int slice, int n) {
if (n % slice == 0) {
return n / slice;
} else
return n / slice + 1;
}
}
설명
- 피자를 2~10조각 까지 원하는 조각 수로 잘라준다.
- n / slice 해서 나머지가 0 이라면 모두가 1조각 이상 먹게된다.
- 나머지가 있다면 n / slice 한 값에서 +1을 하면 모두 1조각 이상 먹게된다.
문제 - 배열의 평균값

풀이
import java.util.*;
class Solution {
public double solution(int[] numbers) {
OptionalDouble average = Arrays.stream(numbers).average();
return average.orElse(0.0);
}
}
설명
- Arrays.stream(numbers).average()는 number 배열의 평균값을 계산한다.
- OptionalDouble 타입은 값이 존재하거나 존재하지 않거나 이런 경우를 처리하기위해 사용한다.
- average.orElse(0.0)는 OptionalDouble에 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 기본값으로 0.0을 반환한다.