728x90
반응형
힌트
더보기
피자를 한 판에 6조각씩 나오며 모두 같은 개수를 먹어야 한다
피자를 남기지 않아야 한다(잔반 안됨)
예시)
-6명이면 한 판(6 조각)을 시키면 1조각씩 남김 없이 먹을 수 있다
-8명이면 네 판(24 조각)을 시키면 3조각씩 남김 없이 먹을 수 있다
- (x*n)%6==0 (피자 판 수 * 명 수)를 6으로 나누었을 때 나머지가 0이어야 한다
정답
더보기
LInq를 사용
var divideArray = Enumerable.Range(1, 9).Select(x => x * n);
return divideArray.Where(x => x % 6 == 0).Min() / 6;
재귀함수를 사용
public int solution(int n)
{
int answer = n / gcd(n, 6);
return answer;
}
public int gcd(int a, int b)
{
return a % b == 0 ? b : gcd(b, a % b);
}
해석
더보기
var divideArray = Enumerable.Range(1, 9).Select(x => x * n);
LInq 사용
- divideArray에 1부터 9까지의 숫자를 넣고 select에선 이전에 생성한 값과 n(명수)를 곱해준 값을 저장한다
return divideArray.Where(x => x % 6 == 0).Min() / 6;
- 6으로 나누었을 때 값이 0이 되는 것 중 가장 작은 값을 가져와 6으로 나누어 피자 판의 값을 리턴한다
-> 명수가 6이면 6, 12 18 등의 숫자 중 6을 가져온다
728x90
반응형
'C#' 카테고리의 다른 글
[프로그래머스 힌트/답/해석] 최댓값 만들기 1 (1) | 2024.01.29 |
---|---|
[프로그래머스 힌트/답/해석] 점의 위치 구하기 (0) | 2024.01.29 |
[프로그래머스 힌트/답/해석/해석] 최빈값 찾기 (1) | 2024.01.29 |
[프로그래머스 힌트/답/해석] 배열의 중앙값 구하기 (1) | 2024.01.29 |
[프로그래머스 힌트/답/해석] 분수 더하기 (1) | 2024.01.29 |