55 fruit salad: choose your own Kolmogorov complexity
This is a fixed output challenge. It is similar to a standard Kolmogorov complexity challenge, except you get to choose your own fixed output. Given no input, output 55 fruits. You may choose any 55 distinct fruits from the following list:
abiu
açaí
acerola
achacha
ackee
afghan cherry
african baobab fruit
african cherry orange
african custard-apple
african locust bean
african mango
african mangosteen
african oil palm fruit
african peach
aguasiqui
akebi
alaskan bunchberry
allegheny plum
almond
almond-leaved pear
amanatsu
amazon grape
ambarella
american beautyberry
american black elderberry
american mayapple
american oil palm fruit
american persimmon
american plum
american red elderberry
american red raspberry
angular sea-fig
annonilla
apple
apple berry
apricot
apricot plum
apricot-leaved pear
arabian coffee
arabian wild almond
araticum-cagão
aratincum do para
araza
arctic raspberry
armenian blackberry
asam gelugur
asam kelubi
asian pear
atemoya
atherton raspberry
australian baobab fruit
avocado
babaco
bacuri
bael
bailan melon
bajoura citron
balatá
balloon berry
bambangan
banana
banana melon
banana passionfruit
banana yucca
barberry
beach plum
beach strawberry
beach sugar apple
bear's plum
bearberry
bell apple
bemange
bengal currant
bergamot orange
bignay
bilberry
bilberry cactus fruit
bilimbi
binjai
birchleaf pear
bird cherry
biribá
bitter orange
black apple
black cherry
black currant
black mulberry
black plum
black raspberry
black sapote
blackberry
blackcurrant
blood lime
blood orange
blue guarri
blue passionfruit
blue sweet calabash
blue tongue
blueberry
bokhara plum
bolivian mountain coconut
bolwarra
bombona
boquila
borojó
boysenberry
brazil cherry
brazilian guava
breadfruit
breadnut
briançon apricot
brush cherry
buddha's hand
buffalo-thorn
burahol
burdekin plum
burmese grape
bush butter fruit
bushveld bluebush
button mangosteen
cacao
cactus pear
cainito
calabur fruit
calamondin
california blackberry
callery pear
calva crabapple
cam sành
cambuci
camu camu
canadian bunchberry
canadian serviceberry
canary melon
canistel
cantaloupe
cape gooseberry
caqui
cardón fruit
carob
cashew apple
casimiroa
cassabanana
cattley guava
caviar lime
cawesh
cedar bay cherry
cempedak
centennial variegated kumquat
cerrado pear
ceylon gooseberry
changunga
chaplaish
charichuelo
cherimoya
cherry
cherry elaeagnus
cherry laurel
cherry of the rio grande
cherry plum
chickasaw plum
chico fruit
chilean guava
chinese bramble berry
chinese bush cherry
chinese crab apple
chinese date
chinese flowering apple
chinese pearleaf crabapple
chinese plum
chinese quince
chinese serviceberry
chinese sour cherry
chinese white pear
chocolate vine fruit
choke cherry
chokeberry
citron
citron melon
clementine
cloudberry
clove cherry
cluster fig
coarse dodder-laurel fruit
coastal serviceberry
cocky apple
coco de mer
coconut
cocoplum
coffeeberry
cone cherry
conkerberry
copperleaf snowberry
cornelian cherry
corozo palm fruit
costa rican guava
country-almond
courbaril
crab apple
cranberry
crane melon
creek plum
creeping raspberry
crenshaw melon
crowberry
cudrang
cupuaçu
currant
curry berry
curuba
custard apple
cut-leaf crabapple
cutleaf evergreen blackberry
cyclamin cherry
damson
darvaz plum
darwin's barberry
date
date-plum
david's peach
davidson's plum
dawyck cherry
dead man's fingers
delicious raspberry
desert almond
desert apricot
desert fig
desert lime
desert peach
desert quandong
dewberry
dog cherry
doub palm fruit
downy serviceberry
dragon fruit
dragonfruit
dugdug
durian
dusky pear
dutchman's laudanum
dwarf jelly palm fruit
dwarf red blackberry
dwarf russian almond
dwarf yatay palm fruit
eastern crabapple
eastern mayhaw
eastern teaberry
egg fruit
elderberry
elephant apple
elmleaf blackberry
emblic
emu apple
emu berry
engkala
etrog
european cantaloupe
european crab apple
european dewberry
european dwarf cherry
european plum
european red raspberry
european wild pear
fe'i banana
feijoa
fergana peach
fibrous satinash
fig
finger lime
fingered citron
five-leaved bramble berry
flatwoods plum
florentine citron
florentine crabapple
flowering almond
fony baobab fruit
fox grape
fuji cherry
gấc
galia melon
gamboge
gandaria
gansu peach
garcinia cambogia
garden dewberry
garlic passionfruit
gaya melon
giant granadilla
goji berry
golden himalayan raspberry
golden kiwifruit
gomortega
gooseberry
grape
grapefruit
gray-leaf cherry
green plum
green sapote
greengage
grewia asiatica
guarana
guava
guavaberry
gubinge
gummy bear fruit
gympie-gympie fruit
hackberry
hairless rambutan
hala fruit
hall crabapple
hardy kiwi
haruka
hawaiian raspberry
hawthorn
hawthorn berry
himalayan bird cherry
hokkaido bird cherry
hollyleaf cherry
honeyberry
honeydew
honeydew melon
honeysuckle
horned melon
hortulan plum
huckleberry
hyuganatsu
ice-cream bean
ichang papeda
ilama
indian wild pear
italian plum
iyokan
jabuticaba
jackal food
jackfruit
jagua
jambolan
jambul
japanese alpine cherry
japanese apricot
japanese bird cherry
japanese bramble berry
japanese bush cherry
japanese cherry
japanese crab
japanese plum
japanese silverberry
jelly palm fruit
jentik
jiangsu kumquat
jícama
jícara
jocote
jostaberry
jujube
juneberry
juniper berry
kabosu
kaffir lime
kahikatea
kaido crab apple
kajari melon
kanpei
karkalla fruit
kawachi bankan
kazak pear
kei apple
keledang
kelsey plum
keluak
kesusu
key lime
khirni
king coconut
kinkoji unshiu
kinnow
kiwano
kiwano rund
kiwifruit
kiyomi
kobayashi mikan
koji orange
kokum
kola nut
kolkhoznitsa melon
korean blackberry
korean juneberry
korean melon
korean raspberry
korlan
kousa dogwood fruit
kubal
kumquat
kundong
kwai muk
lala palm
langsat
lardizabala
lebanese wild apple
lemon
lemon aspen fruit
lemon drop mangosteen
lemonadeberry
lime
limeberry
limequat
lingonberry
little gooseberry
loganberry
long-peduncled almond
longan
loquat
lovi-lovi
low juneberry
low serviceberry
lúcuma
lulo
luóhàn guǒ
lychee
magellan barberry
malabar plum
malay rose apple
mamey apple
mamey sapote
mamin chino
mammee
manchurian apricot
manchurian cherry
manchurian crab apple
mandacaru
mandarin orange
mandarine
mangaba
mango
mangosteen
mangshanyegan
manoao
maqui berry
maracuja bravo
maracuja mochila
maracuja redondo
marionberry
marolo
marula
massaranduba
mayapple
maypop
medlar
melogold
melon
menteng
mexican plum
meyer lemon
midgen berry
miracle fruit
mirza melon
miyama cherry
mock strawberry
molucca bramble berry
momordica fruit
monkey fruit
monkey jackfruit
monkeypod
monstera deliciosa
mora común
mora de castilla
moriche palm fruit
mortiño
mountain raspberry
mountain serviceberry
mountain snowberry
mountain soursop
mouse melon
mulberry
mundu
muntrie
murray's plum
muscadine
musho
musk melon
muskmelon
myrtle-leaved orange
mysore raspberry
nageia
nance
nanjing cherry
nannyberry
nantucket serviceberry
naranjilla
natal orange
native cherry
native currant
nectarine
neem
nepalese raspberry
nepali hog plum
new zealand passionfruit
niedzwetzky's apple
nipa palm fruit
nokaidō
noni
north american cantaloupe
nutmeg fruit
ōgonkan
ojai pixie
oklahoma plum
oleaster-leafed pear
olosapo
ooray
orange
oregon grape
oroblanco
oshima cherry
otaheite gooseberry
oval kumquat
pacific crabapple
pacific plum
pale serviceberry
papaya
partridgeberry
passionfruit
pawpaw
peach
peanut butter fruit
pear
peluntan
pennsylvania blackberry
pepino
pequi
perfumed passionfruit
persimmon
peruvian apple cactus fruit
phalsa
pigeon plum
pili
pillar apple
pin cherry
pineapple
pineberry
pingan
pink banana
pinkglow pineapple
pitanga
pitaya
pitomba
pitomba-da-bahia
plantain
plinia
plum
plum pine fruit
plumcot
plumleaf crab apple
pluot
plymouth pear
podocarpus
pomegranate
pomelo
pompia
pond apple
ponderosa lemon
poro poro
prairie crabapple
pratt's crabapple
prickly pear fruit
prumnopitys
prune
pudau
pulasan
purple apple-berry
purple guava
purple mangosteen
purple-flowered raspberry
puruí
queen palm fruit
quince
raisin
raisin tree fruit
rambutan
ramontchi
rangpur
raspberry
red banana passionfruit
red bush apple
red currant
red fruit
red huckleberry
red mulberry
red passionfruit
red salak
redcurrant
rhubarb
riberry
rimu
rose apple
rose hip
roseleaf bramble berry
round lime
roundleaf serviceberry
rowan
rukam
sabal palm fruit
sageretia
saguaro fruit
salak
salal
salal berry
salmonberry
sampang
sand cherry
sandpaper fig
sansapote
santa claus melon
santol
sapodilla
sapote
sargent crabapple
sargent's cherry
saskatoon
satsuma
satsuma mandarin
savannah cherry
saw palmetto fruit
sawtooth blackberry
scarlet firethorn
scarlet passionfruit
sea anemone passionfruit
sea buckthorn
sea coconut
sea grape
shangjuan
shine muscat
shipova
shoebutton ardisia
shonan gold
shrub apple
siberian apricot
siberian crab apple
sikkim crabapple
silver almond
silver buffaloberry
silver peanut butter fruit
sloe
small-leaved fuchsia
small-leaved myrtle berry
small-leaved tamarind
smooth blackberry
smooth davidson's plum
smooth serviceberry
smooth stone peach
snow pear
snow raspberry
snowy mespilus
solomon's plume
soncoya
sorb
sour cherry
sour fig
sourplum
soursop
south american sapote
southern crabapple
spanish cherry
spanish lime
spanish tamarind
sprite melon
staghorn sumac
star apple
star fruit
stinking passionfruit
stone bramble berry
strangler fig
strawberry
strawberry tree fruit
sudachi
sugar plum
sugar-apple
surinam cherry
susung-kalabaw
swartbas
sweet apple-berry
sweet calabash
sweet crabapple
sweet granadilla
sweet limetta
sycamore fig
syrian pear
taiwan cherry
taiwan crabapple
taiwan tangerine
tamaran
tamarillo
tamarind
tamarind-plum
tangelo
tangerine
tangor
tapia
tayberry
terap
terap hitam
terap nasi
terengganu cherry
texas almond
texas peach
texas persimmon
thimbleberry
tianshan cherry
tigger melon
tilap
toad tree fruit
toringo crabapple
totara
toyon
ugli fruit
ussurian pear
utah serviceberry
vanilla
velvet apple
velvet tamarind
viagra palm
vitis vinifera
volkamer lemon
wampee
water lemon
watermelon
watery rose apple
wax apple
white aspen berry
white bark raspberry
white currant
white fig
white kwai muk
white mulberry
white passionfruit
white sapote
white-stemmed bramble
wiegand's serviceberry
wild cherimoya
wild cherry
wild dilly
wild himalayan cherry
wild jack
wild orange
wild peach
wild strawberry
willow leaf cherry
wineberry
winter-flowering cherry
wolfberry
wongi
wood-apple
wooly jelly palm fruit
ximenia
yangmei
yantok
yatay palm fruit
yellow granadilla
yellow mombin
yellow plum
yew berry
yoshino cherry
youngberry
yunnan crabapple
yuzu
zig-zag vine fruit
zwetschge
Fruit Provenance
This list of fruits has been taken from "List of culinary fruits" on Wikipedia and "List of fruits" on Simple English Wikipedia. I've removed fruits that were only listed with a scientific name (no common name), and a fruit that contained digits. This pared down list contains 766 fruits in total.As Wikipedia pages are prone to change over time, the list presented in this challenge is the only one that will be used for validating answers.
Input
- There is no input for this challenge
Output
- Exactly 55 fruits from the list, no more or less
- The same fruits in the same order every time (your output must be deterministic)
- The 55 fruits must be distinct
- You must not include
apple
twice - You may include
apple
,custard apple
, andapple berry
- fruits containing or overlapping with other fruits is not a problem
- You must not include
- You may output the fruits in a data structure of your choice, such as a list, array, or vector, but each individual fruit must be a string
- If you choose to output a single string that contains the 55 fruits separated by a delimiter, the delimiter must be consistent (the same delimiter between each consecutive pair of fruits), non-alphanumeric (not a letter or digit), and must not be present in any of the 55 fruits
- For example, if one of your 55 fruits is
miracle fruit
then you must not use a space as the delimiter, and if one of your 55 fruits istamarind-plum
then you must not use a hyphen as the delimiter
- For example, if one of your 55 fruits is
- Each of your 55 fruits must be exactly as it appears in the list of all fruits
- The spelling must be identical (no regional variations - only the particular spelling shown in the list - so
wooly jelly palm fruit
, notwoolly jelly palm fruit
) - Any punctuation must be identical, including spaces, hyphens, or apostrophes
- All diacritics are required, so for example
acai
is not a valid fruit for this challenge - it must beaçaí
. If using diacritics is not possible in your language of choice, you will need to choose fruits that are diacritic-free
- The spelling must be identical (no regional variations - only the particular spelling shown in the list - so
Scoring
Despite the "choose your own output" aspect of this challenge, this is a standard code golf challenge - your score is the number of bytes in your code.
Although your score is based solely on your competing code that outputs the 55 fruits, it would also be interesting to see any additional code that you might have used to help you choose which 55 fruits to work with. This is entirely optional - only your competing code is required.
Note: if your language of choice requires more than 1 byte to represent a letter with a diacritic, be aware that your score is specifically in bytes, not characters.
Explanations in answers are optional, but I'm more likely to upvote answers that have one.
[Python 3], 319 318 bytes ` …
6mo ago
Japt, 233 bytes `ÜÊ Ò …
2y ago
[Python 3], 325 322 bytes - …
2y ago
[Python 3], 326 bytes …
2y ago
Vyxal, 244 bytes ``` `↔ė ¹¢ …
2y ago
5 answers
Python 3, 326 bytes
print("fig gấc abiu açaí bael date lime lulo neem noni pear pili plum rimu sloe sorb yuzu ackee akebi apple araza cacao caqui carob etrog grape guava ilama jagua kokum kubal lemon mango melon mundu musho nance ooray peach pequi pluot prune pudau puruí rowan rukam salak salal tapia terap tilap toyon wongi almond babaco")
I used a similar Vyxal program linked in my Vyxal answer, but instead of checking for the shortest dictionary compression, just looked for the 55 shortest fruits.
0 comment threads
Python 3, 319 318 bytes
print('riBfig,barBbilBdewBmulBtayBabiu,bael,date,lime,lulo,neem,noni,pear,pili,plum,rimu,sloe,sorb,yuzu,bearBblueBcranBcrowBemu BhackBjuneBlimeBpineBraspBwineBwolfByew Backee,akebi,apple,araza,cacao,caqui,carob,etrog,gấc,grape,guava,ilama,jagua,kokum,kubal,lemon,mango,melon,mundu,musho,nance'.replace('B','berry,'))
1 byte saved thanks to msb's comment which made me realise I was sorting the fruit by string length (which measures characters instead of bytes, making fruits with diacritics seem shorter than they really are).
This works by representing berry,
(including the comma) as B
(with no comma). This means that every fruit that ends in "berry" can effectively save 5 bytes. It turns out there are enough berries to make the 22 byte cost of replace
worthwhile.
This is the 55 shortest fruits measuring length after substituting "berry," with "B". I generated the code using this code:
a = """abiu
açaí
acerola
achacha
ackee
afghan cherry
african baobab fruit
african cherry orange
african custard-apple
african locust bean
african mango
african mangosteen
african oil palm fruit
african peach
aguasiqui
akebi
alaskan bunchberry
allegheny plum
almond
almond-leaved pear
amanatsu
amazon grape
ambarella
american beautyberry
american black elderberry
american mayapple
american oil palm fruit
american persimmon
american plum
american red elderberry
american red raspberry
angular sea-fig
annonilla
apple
apple berry
apricot
apricot plum
apricot-leaved pear
arabian coffee
arabian wild almond
araticum-cagão
aratincum do para
araza
arctic raspberry
armenian blackberry
asam gelugur
asam kelubi
asian pear
atemoya
atherton raspberry
australian baobab fruit
avocado
babaco
bacuri
bael
bailan melon
bajoura citron
balatá
balloon berry
bambangan
banana
banana melon
banana passionfruit
banana yucca
barberry
beach plum
beach strawberry
beach sugar apple
bear's plum
bearberry
bell apple
bemange
bengal currant
bergamot orange
bignay
bilberry
bilberry cactus fruit
bilimbi
binjai
birchleaf pear
bird cherry
biribá
bitter orange
black apple
black cherry
black currant
black mulberry
black plum
black raspberry
black sapote
blackberry
blackcurrant
blood lime
blood orange
blue guarri
blue passionfruit
blue sweet calabash
blue tongue
blueberry
bokhara plum
bolivian mountain coconut
bolwarra
bombona
boquila
borojó
boysenberry
brazil cherry
brazilian guava
breadfruit
breadnut
briançon apricot
brush cherry
buddha's hand
buffalo-thorn
burahol
burdekin plum
burmese grape
bush butter fruit
bushveld bluebush
button mangosteen
cacao
cactus pear
cainito
calabur fruit
calamondin
california blackberry
callery pear
calva crabapple
cam sành
cambuci
camu camu
canadian bunchberry
canadian serviceberry
canary melon
canistel
cantaloupe
cape gooseberry
caqui
cardón fruit
carob
cashew apple
casimiroa
cassabanana
cattley guava
caviar lime
cawesh
cedar bay cherry
cempedak
centennial variegated kumquat
cerrado pear
ceylon gooseberry
changunga
chaplaish
charichuelo
cherimoya
cherry
cherry elaeagnus
cherry laurel
cherry of the rio grande
cherry plum
chickasaw plum
chico fruit
chilean guava
chinese bramble berry
chinese bush cherry
chinese crab apple
chinese date
chinese flowering apple
chinese pearleaf crabapple
chinese plum
chinese quince
chinese serviceberry
chinese sour cherry
chinese white pear
chocolate vine fruit
choke cherry
chokeberry
citron
citron melon
clementine
cloudberry
clove cherry
cluster fig
coarse dodder-laurel fruit
coastal serviceberry
cocky apple
coco de mer
coconut
cocoplum
coffeeberry
cone cherry
conkerberry
copperleaf snowberry
cornelian cherry
corozo palm fruit
costa rican guava
country-almond
courbaril
crab apple
cranberry
crane melon
creek plum
creeping raspberry
crenshaw melon
crowberry
cudrang
cupuaçu
currant
curry berry
curuba
custard apple
cut-leaf crabapple
cutleaf evergreen blackberry
cyclamin cherry
damson
darvaz plum
darwin's barberry
date
date-plum
david's peach
davidson's plum
dawyck cherry
dead man's fingers
delicious raspberry
desert almond
desert apricot
desert fig
desert lime
desert peach
desert quandong
dewberry
dog cherry
doub palm fruit
downy serviceberry
dragon fruit
dragonfruit
dugdug
durian
dusky pear
dutchman's laudanum
dwarf jelly palm fruit
dwarf red blackberry
dwarf russian almond
dwarf yatay palm fruit
eastern crabapple
eastern mayhaw
eastern teaberry
egg fruit
elderberry
elephant apple
elmleaf blackberry
emblic
emu apple
emu berry
engkala
etrog
european cantaloupe
european crab apple
european dewberry
european dwarf cherry
european plum
european red raspberry
european wild pear
fe'i banana
feijoa
fergana peach
fibrous satinash
fig
finger lime
fingered citron
five-leaved bramble berry
flatwoods plum
florentine citron
florentine crabapple
flowering almond
fony baobab fruit
fox grape
fuji cherry
gấc
galia melon
gamboge
gandaria
gansu peach
garcinia cambogia
garden dewberry
garlic passionfruit
gaya melon
giant granadilla
goji berry
golden himalayan raspberry
golden kiwifruit
gomortega
gooseberry
grape
grapefruit
gray-leaf cherry
green plum
green sapote
greengage
grewia asiatica
guarana
guava
guavaberry
gubinge
gummy bear fruit
gympie-gympie fruit
hackberry
hairless rambutan
hala fruit
hall crabapple
hardy kiwi
haruka
hawaiian raspberry
hawthorn
hawthorn berry
himalayan bird cherry
hokkaido bird cherry
hollyleaf cherry
honeyberry
honeydew
honeydew melon
honeysuckle
horned melon
hortulan plum
huckleberry
hyuganatsu
ice-cream bean
ichang papeda
ilama
indian wild pear
italian plum
iyokan
jabuticaba
jackal food
jackfruit
jagua
jambolan
jambul
japanese alpine cherry
japanese apricot
japanese bird cherry
japanese bramble berry
japanese bush cherry
japanese cherry
japanese crab
japanese plum
japanese silverberry
jelly palm fruit
jentik
jiangsu kumquat
jícama
jícara
jocote
jostaberry
jujube
juneberry
juniper berry
kabosu
kaffir lime
kahikatea
kaido crab apple
kajari melon
kanpei
karkalla fruit
kawachi bankan
kazak pear
kei apple
keledang
kelsey plum
keluak
kesusu
key lime
khirni
king coconut
kinkoji unshiu
kinnow
kiwano
kiwano rund
kiwifruit
kiyomi
kobayashi mikan
koji orange
kokum
kola nut
kolkhoznitsa melon
korean blackberry
korean juneberry
korean melon
korean raspberry
korlan
kousa dogwood fruit
kubal
kumquat
kundong
kwai muk
lala palm
langsat
lardizabala
lebanese wild apple
lemon
lemon aspen fruit
lemon drop mangosteen
lemonadeberry
lime
limeberry
limequat
lingonberry
little gooseberry
loganberry
long-peduncled almond
longan
loquat
lovi-lovi
low juneberry
low serviceberry
lúcuma
lulo
luóhàn guǒ
lychee
magellan barberry
malabar plum
malay rose apple
mamey apple
mamey sapote
mamin chino
mammee
manchurian apricot
manchurian cherry
manchurian crab apple
mandacaru
mandarin orange
mandarine
mangaba
mango
mangosteen
mangshanyegan
manoao
maqui berry
maracuja bravo
maracuja mochila
maracuja redondo
marionberry
marolo
marula
massaranduba
mayapple
maypop
medlar
melogold
melon
menteng
mexican plum
meyer lemon
midgen berry
miracle fruit
mirza melon
miyama cherry
mock strawberry
molucca bramble berry
momordica fruit
monkey fruit
monkey jackfruit
monkeypod
monstera deliciosa
mora común
mora de castilla
moriche palm fruit
mortiño
mountain raspberry
mountain serviceberry
mountain snowberry
mountain soursop
mouse melon
mulberry
mundu
muntrie
murray's plum
muscadine
musho
musk melon
muskmelon
myrtle-leaved orange
mysore raspberry
nageia
nance
nanjing cherry
nannyberry
nantucket serviceberry
naranjilla
natal orange
native cherry
native currant
nectarine
neem
nepalese raspberry
nepali hog plum
new zealand passionfruit
niedzwetzky's apple
nipa palm fruit
nokaidō
noni
north american cantaloupe
nutmeg fruit
ōgonkan
ojai pixie
oklahoma plum
oleaster-leafed pear
olosapo
ooray
orange
oregon grape
oroblanco
oshima cherry
otaheite gooseberry
oval kumquat
pacific crabapple
pacific plum
pale serviceberry
papaya
partridgeberry
passionfruit
pawpaw
peach
peanut butter fruit
pear
peluntan
pennsylvania blackberry
pepino
pequi
perfumed passionfruit
persimmon
peruvian apple cactus fruit
phalsa
pigeon plum
pili
pillar apple
pin cherry
pineapple
pineberry
pingan
pink banana
pinkglow pineapple
pitanga
pitaya
pitomba
pitomba-da-bahia
plantain
plinia
plum
plum pine fruit
plumcot
plumleaf crab apple
pluot
plymouth pear
podocarpus
pomegranate
pomelo
pompia
pond apple
ponderosa lemon
poro poro
prairie crabapple
pratt's crabapple
prickly pear fruit
prumnopitys
prune
pudau
pulasan
purple apple-berry
purple guava
purple mangosteen
purple-flowered raspberry
puruí
queen palm fruit
quince
raisin
raisin tree fruit
rambutan
ramontchi
rangpur
raspberry
red banana passionfruit
red bush apple
red currant
red fruit
red huckleberry
red mulberry
red passionfruit
red salak
redcurrant
rhubarb
riberry
rimu
rose apple
rose hip
roseleaf bramble berry
round lime
roundleaf serviceberry
rowan
rukam
sabal palm fruit
sageretia
saguaro fruit
salak
salal
salal berry
salmonberry
sampang
sand cherry
sandpaper fig
sansapote
santa claus melon
santol
sapodilla
sapote
sargent crabapple
sargent's cherry
saskatoon
satsuma
satsuma mandarin
savannah cherry
saw palmetto fruit
sawtooth blackberry
scarlet firethorn
scarlet passionfruit
sea anemone passionfruit
sea buckthorn
sea coconut
sea grape
shangjuan
shine muscat
shipova
shoebutton ardisia
shonan gold
shrub apple
siberian apricot
siberian crab apple
sikkim crabapple
silver almond
silver buffaloberry
silver peanut butter fruit
sloe
small-leaved fuchsia
small-leaved myrtle berry
small-leaved tamarind
smooth blackberry
smooth davidson's plum
smooth serviceberry
smooth stone peach
snow pear
snow raspberry
snowy mespilus
solomon's plume
soncoya
sorb
sour cherry
sour fig
sourplum
soursop
south american sapote
southern crabapple
spanish cherry
spanish lime
spanish tamarind
sprite melon
staghorn sumac
star apple
star fruit
stinking passionfruit
stone bramble berry
strangler fig
strawberry
strawberry tree fruit
sudachi
sugar plum
sugar-apple
surinam cherry
susung-kalabaw
swartbas
sweet apple-berry
sweet calabash
sweet crabapple
sweet granadilla
sweet limetta
sycamore fig
syrian pear
taiwan cherry
taiwan crabapple
taiwan tangerine
tamaran
tamarillo
tamarind
tamarind-plum
tangelo
tangerine
tangor
tapia
tayberry
terap
terap hitam
terap nasi
terengganu cherry
texas almond
texas peach
texas persimmon
thimbleberry
tianshan cherry
tigger melon
tilap
toad tree fruit
toringo crabapple
totara
toyon
ugli fruit
ussurian pear
utah serviceberry
vanilla
velvet apple
velvet tamarind
viagra palm
vitis vinifera
volkamer lemon
wampee
water lemon
watermelon
watery rose apple
wax apple
white aspen berry
white bark raspberry
white currant
white fig
white kwai muk
white mulberry
white passionfruit
white sapote
white-stemmed bramble
wiegand's serviceberry
wild cherimoya
wild cherry
wild dilly
wild himalayan cherry
wild jack
wild orange
wild peach
wild strawberry
willow leaf cherry
wineberry
winter-flowering cherry
wolfberry
wongi
wood-apple
wooly jelly palm fruit
ximenia
yangmei
yantok
yatay palm fruit
yellow granadilla
yellow mombin
yellow plum
yew berry
yoshino cherry
youngberry
yunnan crabapple
yuzu
zig-zag vine fruit
zwetschge"""
all_fruits = a.split("\n")
berry_words = [word for word in all_fruits if word[-5:] == "berry"]
other_words = [word + "," for word in all_fruits if word not in berry_words]
shortened_berry_words = [word.replace("berry", 'B') for word in berry_words]
words = sorted(other_words + shortened_berry_words, key=lambda x:len(x.encode("utf-8")))[:55]
words_as_string = "".join(words)[:-1]
program = f"print('{words_as_string}'.replace('B','berry,'))"
print(program)
My initial failed attempts
Before I found this approach I tried shortening the other two Python 3 answers, but in both cases my misguided efforts only made the code longer...
Trying to shorten steffan153's answer
I noticed that some of the fruits had diacritics, which makes them longer in bytes than they appear, so instead of just using the 55 shortest fruit by characters, I used the 55 shortest fruit after throwing away any fruit with diacritics, like gấc and açaí. However, since we've already used up all of the fruit of length 5 bytes or less, each diacritic fruit removed brings in another 6 byte fruit, so the total length of the code went up by a byte:
print('fig abiu bael date lime lulo neem noni pear pili plum rimu sloe sorb yuzu ackee akebi apple araza cacao caqui carob etrog grape guava ilama jagua kokum kubal lemon mango melon mundu musho nance ooray peach pequi pluot prune pudau rowan rukam salak salal tapia terap tilap toyon wongi almond babaco bacuri banana bignay')
Trying to shorten Moshi's answer
I thought I could save some bytes by using fewer distinct characters in the list of fruits, since all of these need to be listed in the while
loop that extracts the data. So I repeatedly found the letter present in fewest fruits, and discarded all fruits containing that letter, stopping short of ending up with fewer than 55 fruits remaining. This left me with only 14 distinct characters, down from 16 in the original code. However, the 2 bytes this saved were overwhelmed by the fact that the new list of 55 fruits contained longer fruits, since I'd discarded some of the shorter ones, leaving the code 14 bytes longer:
from base64 import*
n=int.from_bytes(b85decode('5YBr@2zdh)fdaH`|L?o31mzCMMOw^}6Gp}*cGPdkWp!!fj9sk(ll2zIiI9x(m!Z#)4FT|UW1Q!@&rHc#p7PfklqbhsG`5TO^jF^L@qmX-@zKRADY>W*()(`#6^w=;IP9xHTgMq6GED;7>E#S9WNiB|2eKZ!HJ!qD(`e}qPwt+~b^KgJISyhSv!lv?ba68XFLI3{>}kf^>gaG928Ym{URfadB71USJH9{@PJ;Ya'),'big')
while n:print(end="ambling poetry"[n%14]);n//=14
In hindsight I have no idea why I thought either of my initial approaches would work.
Python 3, 325 322 bytes
-3 bytes thanks to steffan153!
from base64 import*
n=int.from_bytes(b85decode('8C^#Z9Uor=^}*nk`yLA}A<z=aTm_V+z!I{Y1+v7z89f>WmC>M4TN(sPp`fvySOeqafPpzk0!*=hK2{h9DQZ9#JvR$o@^Bj)76Q|8U{@9v3>hyB9Zvx)9|;*A2pJv<7(E2D+z(Tn1bZ6`SxO69NeLD>3OHB+p^^q&7X=p=1f0PFWPt=oaR$}kMV<qq(4(9JlEBeS0=2NDO9hjVN+}6JU@~C'),'big')
while n:print(end=',aiueobcklmnprst'[n%16]);n//=16
Originally, I was going to use zlib, but trying to use the encoded result as a literal gave a lot of issues, so I decided to use base85 instead. There are probably some optimizations I missed since I don't really do Python often enough.
2 comment threads
Japt, 233 bytes
`ÜÊ Ò Í a×G ¯¯o ÖÚb ¯ØÚ × »Ûá ÝÁ Á²g fig ¤¶n ÓI lªo §Ö ÚAo Ú-n Û u Ûo nÂ) em ÇÓy pe pi¦ Îñ ΰn Ѧk Ѧl sb É Èp Èîp Èl y °ÛG Ù i abiu alÚ app¤ aza bael ba ¼ÚAe ÞÃl Öðo ¯mÞö ÖÇÐU ¯qui Öry ¬¬n© c¨Îà emÞV gpe Î\
Just a compressed string, decompressed by the backtick at the beginning, that uses space as a delimiter.
Test it
(or view the list sorted, with newline as a delimiter here)
How I came by it
- Remove fruits containing Unicode characters.
- Remove fruits containing spaces.
- Remove "rimu", because it contains a
\
when compressed. - Sort by compressed length.
- Get first 55, as an array.
- Run that array through my interpreter's built-in compressor.
- Manually replace the last fruit in the compressed string ("ilama") with the manually compressed string "rimu".
0 comment threads
Vyxal, 244 bytes
`↔ė
¹¢
Ṁṙ
ṫ₁
λǎ
ȧ₴
¶Ŀ
¯¡
ɾ⟨
²ǒ
aǍ₄
b₴⟩
l℅₆
n꘍ƒ
pƛṖ
pṁ‹
p⋏µ
p⇧Ż
r⋏⅛
s⇧⁋
s⋎Ė
≈•꘍₈
ak↳⁼
…⋎꘍⇩
₴ꜝza
Ǎṁ…℅
ǍŀṪṄ
•øĊ¯
∞¨Ċ¯
∧¡ǎŀ
Ǎ§Ċ¯
⟇⁺Ċ¯
₃Ẏ꘍⁼
ṙ†ð‛
ṙ†Ṗ₃
ca⇩ḋ
ca±•
caḟλ
⇩ḟ↳∆
⇩₅ḭ₅
⟨ġĊ¯
æ¥Ċ¯
⇩Ẇ℅₍
₈Ŀ½Ŀ
∩∞Ċ¯
ėʁð‛
∩⟨∩⟨
∩ṡṁ₃
ĖǒĊ¯
↲ø⇧₆
et≥ṫ
gr…»
£Ẋ₄ẋ
£¡va
Ȯ§Ċ¯
This is the program I used to generate it:
It simply checks for fruits with no Unicode characters, and then finds the 55 fruits with the shortest dictionary compression.
1 comment thread