←← →→

C99.hu

Egy gondolkodtató gyakorló feladatokból álló gyűjtemény. Főbb témák a nyelvspecifikus programozás és a matematika.

Főoldal

A palacsinták rendes sorba állnak

Python
Nehézség: Könnyű

Egy konyhában a palacsintákat méret szerint kell rendezni, mert a legnagyobb mindig alul szeretne állni, a legkisebb pedig a tetején maradni. A feladat egy egyszerű mátrixátrendezés, amit egy kis humorral még a palacsinták is szeretnek.

pancakeList = [
[0,0,0,0,0],
[0,1,0,0,0],
[0,1,0,1,0],
[1,1,0,1,1],
[1,1,1,1,1]
]

def sortPancakes(pancakes):
columns = [0,0,0,0,0]
for row in pancakes:
for idx in range(len(row)):
if row[idx] == 1:
columns[idx] += 1

columns.sort(reverse=True)

result = []
for row_index in range(len(pancakes)):
new_row = []
for col_index in range(len(columns)):
if columns[col_index] > len(pancakes) - row_index - 1:
new_row.append(1)
else:
new_row.append(0)
result.append(new_row)

return result

sortedPancakes = sortPancakes(pancakeList)
for line in sortedPancakes:
print(line)


MegoldásA program minden oszlopban megszámolja az 1-eseket, csökkenő sorrendbe rendezi őket, majd új mátrixot épít belőlük alulról felfelé. Ez pontosan ugyanaz az ötlet, mint a házak magasságánál, csak palacsintásabb hangulatban.