Monday Mini-Golf : 매주 월요일에 게시 되는 일련의 짧은 코드 골프 과제입니다.
늦어서 죄송합니다. 나는 그것이 중복이라는 다른 아이디어를 작성함으로써 90 %의 방법을 깨달았습니다.
우리 가족은 다소 크므로 많은 음식을 먹습니다. 우리는 충분한 음식을 만들기 위해 보통 두 배, 세 배, 심지어 네 배의 요리법이 필요합니다! 그러나 측정 값을 곱하는 것이 어려울 수 있으므로이를 위해 프로그램을 작성하는 것이 좋습니다.
도전
문제는 숫자 N 과 문자 L로 측정을 수행하고 가능한 한 단순화 된 동일한 측정 값을 반환 하는 프로그램이나 함수를 만드는 것 입니다. 필요한 측정 단위 (모두 미국 가족과 마찬가지로)와 해당 문자는 다음과 같습니다.
1 cup (c) = 16 tablespoons (T) = 48 teaspoons (t)
1 pound (l) = 16 ounces (o)
1 gallon (g) = 4 quarts (q) = 8 pints (p) = 128 fluid ounces (f)
"가능한 한 단순화"는 다음을 의미합니다.
- 가장 큰 측정 단위 사용. 각 장치는 1/4, 1/3, 1/2, 2/3 또는 3/4의 나머지를 가질 수 있습니다.
- 필요한 경우 결과를 혼합 된 숫자로 바꿉니다.
예를 들어 4 o
4 온스 1/4 l
는 1/4 파운드가됩니다. 8 t
, 8 티스푼이됩니다 2 2/3 T
.
세부
- 입력은 임의의 합리적인 형식으로 취해질 수 있습니다. 출력과 동일합니다. (
1 t
,1,"t"
,1\nt
등) - 분수 부분이 올바르게 처리되었는지 확인하십시오. (
11/4
대신에1 1/4
사용할 수 없습니다.) - 수는 항상 혼합 수있을 것입니다, 항상의 분모 것
2
,3
또는4
(또는 없음)을. (아니요1 1/8 T
, 아니오1.5 T
등) - 위의 결과로 하향 변환 (예 : 컵에서 큰 스푼)이 필요하지 않습니다.
- 문자는 항상 위에 나열된 문자 중 하나입니다 (
Tcfglopqt
).
테스트 사례
다음은 모든 유형의 사례를 다루는 큰 목록입니다.
Input | Output
--------+--------
1/2 t | 1/2 t
3/4 t | 1/4 T
1 t | 1/3 T
1 1/2 t | 1/2 T
2 t | 2/3 T
2 1/4 t | 3/4 T
2 1/2 t | 2 1/2 t
3 t | 1 T
10 t | 3 1/3 T
16 t | 1/3 c
5 1/3 T | 1/3 c
8 T | 1/2 c
16 T | 1 c
36 T | 2 1/4 c
1/4 c | 1/4 c
1024 c | 1024 c
1 o | 1 o
4 o | 1/4 l
5 1/3 o | 1/3 l
5 2/3 o | 5 2/3 o
8 o | 1/2 l
28 o | 1 3/4 l
28 l | 28 l
2 f | 2 f
4 f | 1/4 p
8 f | 1/4 q
16 f | 1/2 q
32 f | 1/4 g
64 f | 1/2 g
128 f | 1 g
2/3 p | 1/3 q
1 1/3 p | 2/3 q
2 p | 1/4 g
1 q | 1/4 g
채점
우리 부엌은 매우 작기 때문에 부엌이 더 비좁아지지 않도록 코드는 가능한 짧아야합니다. 바이트 단위의 가장 짧은 유효한 코드가 이깁니다. tiebreaker는 최종 바이트 수에 먼저 도달 한 제출에갑니다. 우승자는 다음주 11 월 9 일 월요일에 선발됩니다. 행운을 빌어 요!
이 과제는 World Big Dosa 와 유사하지만 복제되지는 않습니다 .