Annettuna on lista, jossa on luvut jossakin järjestyksessä. Tehtäväsi on järjestää lista kahden komennon avulla:
SWAP
: vaihtaa keskenään listan kaksi ensimmäistä lukuaMOVE
: siirtää listan ensimmäisen luvun viimeiseksi
Suunnittele algoritmi, joka muodostaa listan komennoista, joiden suorittaminen järjestää listan. Algoritmi voi antaa minkä tahansa ratkaisun, kunhan siinä on enintään komentoa.
Toteuta tiedostoon swapmove.py
funktio solve
, joka antaa listan komennoista. Jokaisen komennon tulee olla merkkijono SWAP
tai MOVE
.
def solve(t): # TODO if __name__ == "__main__": print(solve([1, 2])) # esim. [] print(solve([2, 1])) # esim. [SWAP] print(solve([1, 3, 2])) # esim. [SWAP, MOVE] print(solve([3, 2, 1])) # esim. [MOVE, SWAP] print(solve([2, 3, 4, 1])) # esim. [MOVE, MOVE, MOVE]
Selitys: Lista voidaan järjestää suorittamalla ensin komento SWAP
, jolloin listasta tulee , ja sitten komento MOVE
, jolloin listasta tulee .