728x90
반응형
문제 설명
머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
제한사항
- 1 ≤ n ≤ 100
입출력 예
n | result |
7 | 1 |
1 | 1 |
15 | 3 |
입출력 예 #1
- 7명이 최소 한 조각씩 먹기 위해서 최소 1판이 필요합니다.
입출력 예 #2
- 1명은 최소 한 조각을 먹기 위해 1판이 필요합니다.
입출력 예 #3
- 15명이 최소 한 조각씩 먹기 위해서 최소 3판이 필요합니다.
[나의 풀이]
class Solution {
public int solution(int n) {
return n % 7 > 0 ? n / 7 + 1 : n / 7;
}
}
[풀이과정]
- 인원수를 피자조각인 7로 나눈다
- 나머지가 0보다 크면 몫 + 1조각을 반환
- 나머지가 0이면 몫을 반환
인원수를 7조각으로 나눴을 때 몫은 피자 판수가 된다.
만약 나머지가 없이 나누어 진 경우, 나머지는 최소 판 수 이기 때문에 피자 판수를 그대로 반환하면 되지만
나머지가 0보다 클 경우는 해당나머지 만큼의 피자 조각이 있어야 되므로 피자 한판을 추가한다.
[다른 풀이] Arrays.sort([] args)
class Solution {
public int solution(int n) {
return (n + 6) / 7;
}
}
정수론 적으로 접근했을 때, 6은 '어떤 수를 7로 나누면 나머지가 0부터 6까지만' 있기때문에 지정한 숫자이다.
나머지의 최댓값을 더해서 나누게 되면, 나머지가 최소조각인 경우까지 합할수 있으니까...
그냥 잘 모르겠다
728x90
반응형
'코딩테스트 - 프로그래머스 > Lv. 0' 카테고리의 다른 글
[44] JAVA 삼각형의 완성조건 (1) - 미완성 (0) | 2023.11.20 |
---|---|
[43] JAVA 중복된 숫자 개수 (0) | 2023.11.17 |
[41] JAVA 배열 원소의 길이 (0) | 2023.11.17 |
[40] JAVA 문자열 뒤집기 (0) | 2023.11.16 |
[39] JAVA 뒤에서 5등 위로 (0) | 2023.11.16 |