개요 : 일반화 된 FizzBuzz 프로그램의 출력이 주어지면 프로그램에 사용 된 요인 및 단어 목록을 반환합니다.
도전 설명
사용할 요소 및 단어 목록과 시작 숫자를 입력으로받는 일반화 된 FizzBuzz 프로그램을 상상해보십시오. 예를 들어이 프로그램의 입력이
3 2,Ninja 5,Bear 7,Monkey
이 프로그램은에서 번호를 인쇄 할 3
에 100
로 나누어 번호를 대체 2
와 Ninja
, 숫자로 나눌 5
와 Bear
,와 숫자로 나누어 7
과 함께 Monkey
. 더 그 용어의 하나보다 다음 나눌 번호는 프로그램 같은 것들을 인쇄, 단어를 연결할 것 NinjaBear
또는 BearMonkey
또는 NinjaMonkey
또는 NinjaBearMonkey
. 해당 입력의 출력은 다음과 같습니다.
3
Ninja
Bear
Ninja
Monkey
Ninja
9
NinjaBear
11
Ninja
13
NinjaMonkey
Bear
Ninja
17
Ninja
19
NinjaBear
Monkey
Ninja
23
Ninja
Bear
Ninja
27
NinjaMonkey
29
NinjaBear
31
Ninja
33
Ninja
BearMonkey
Ninja
37
Ninja
39
NinjaBear
41
NinjaMonkey
43
Ninja
Bear
Ninja
47
Ninja
Monkey
NinjaBear
51
Ninja
53
Ninja
Bear
NinjaMonkey
57
Ninja
59
NinjaBear
61
Ninja
Monkey
Ninja
Bear
Ninja
67
Ninja
69
NinjaBearMonkey
71
Ninja
73
Ninja
Bear
Ninja
Monkey
Ninja
79
NinjaBear
81
Ninja
83
NinjaMonkey
Bear
Ninja
87
Ninja
89
NinjaBear
Monkey
Ninja
93
Ninja
Bear
Ninja
97
NinjaMonkey
99
NinjaBear
프로그램이 단어를 결합해야 할 때마다 항상 가장 낮은 수에서 가장 높은 수로 이동 합니다. 따라서 MonkeyBear
원숭이가 곰보다 숫자가 많기 때문에 다음과 같이 인쇄되지 않습니다 .
프로그램이 취해야 출력 으로서 일반화 FizzBuzz 프로그램의 입력 및 출력 입력 일반화 FizzBuzz 프로그램에 제공한다. 다시 말해, 일반화 된 FizzBuzz 프로그램에 대한 "역 프로그램"을 작성하십시오. 예를 들어, 위의 코드 블록을 입력으로 지정하면 프로그램이 출력되어야합니다 3 2,Ninja 5,Bear, 7,Monkey
.
단어가 항상 따라야 할 몇 가지 규칙이 있습니다.
- 입력에서 요인과 단어가 무엇인지 정확하게 말할 수 있습니다.
- 각 단어는 대문자로 시작하며 다른 대문자 나 숫자를 포함하지 않습니다.
- 각 요소는 고유합니다.
샘플 입력 및 출력
입력:
Calvins
7
Hobbies
9
10
11
Calvins
13
14
15
Hobbies
17
Calvins
19
20
21
22
23
CalvinsHobbies
25
26
27
28
29
Calvins
31
Hobbies
33
34
35
Calvins
37
38
39
Hobbies
41
Calvins
43
44
45
46
47
CalvinsHobbies
49
50
51
52
53
Calvins
55
Hobbies
57
58
59
Calvins
61
62
63
Hobbies
65
Calvins
67
68
69
70
71
CalvinsHobbies
73
74
75
76
77
Calvins
79
Hobbies
81
82
83
Calvins
85
86
87
Hobbies
89
Calvins
91
92
93
94
95
CalvinsHobbies
97
98
99
100
산출:
6 6,Calvins 8,Hobbies
입력:
FryEggman
7
Am
Fry
The
11
FryAmEggman
13
14
FryThe
Am
17
FryEggman
19
AmThe
Fry
22
23
FryAmEggman
The
26
Fry
Am
29
FryTheEggman
31
Am
Fry
34
The
FryAmEggman
37
38
Fry
AmThe
41
FryEggman
43
Am
FryThe
46
47
FryAmEggman
49
The
Fry
Am
53
FryEggman
The
Am
Fry
58
59
FryAmTheEggman
61
62
Fry
Am
The
FryEggman
67
Am
Fry
The
71
FryAmEggman
73
74
FryThe
Am
77
FryEggman
79
AmThe
Fry
82
83
FryAmEggman
The
86
Fry
Am
89
FryTheEggman
91
Am
Fry
94
The
FryAmEggman
97
98
Fry
AmThe
산출:
6 3,Fry 4,Am 5,The 6,Eggman
입력:
DeliciousTartApplePie
DeliciousCreamPancakeStrawberry
DeliciousProfiterole
DeliciousCream
DeliciousPancake
DeliciousCreamStrawberryTart
산출:
95 1,Delicious 2,Cream 3,Pancake 4,Strawberry 5,Tart 19,Apple 95,Pie 97,Profiterole
여기 에서 입력을 생성하는 데 사용한 코드를 얻을 수 있습니다 .