1.3 KiB
1.3 KiB
Pita_Angka
Strategi Penyelesaian Soal Pita Angka dengan Python
Deskripsi Soal
Terdapat sebuah pita yang berisi angka-angka unik dan acak. Sebuah pena berada di atas pita dan bisa digerakkan ke kiri atau kanan. Tugas kita adalah memberi tanda pada angka-angka tersebut dari angka terkecil ke terbesar, dan menghitung total jarak perpindahan pena saat proses tersebut.
Aturan
- semua angka unik dan disusun dalam satu baris.
- Pena awalnya berada di posisi paling kiri (indeks ke-0).
- Pena harus digunakan untuk menandai angka dari yang terkecil ke terbesar.
- Biaya pergeseran pena: 10 cm per langkah (antar indeks).
- Hasil akhir adalah total jarak perpindahan pena dalam cm.
Contoh Kasus
Input:
4 8 2 1 5 7 9
Urutan dari kecil ke besar: 1 (posisi 3), 2 (posisi 2), 4 (posisi 0), 5 (posisi 4), 7 (posisi 5), 8 (posisi 1), 9 (posisi 6)
Perpindahan pena: 0 → 3 → 2 → 0 → 4 → 5 → 1 → 6
Total langkah: 3 + 1 + 2 + 4 + 1 + 4 + 5 = 20 langkah Total jarak: 20 × 10 cm = 200 cm
Strategi Penyelesaian dengan Python
Langkah-langkah:
- Input: Deret angka dipisahkan oleh spasi.
- Simpan posisi asli setiap angka menggunakan dictionary.
- Urutkan angka dari kecil ke besar.
- Simulasikan gerakan pena:
- Mulai dari indeks ke-0.
- Hitung jarak antar indeks, kali 10.
- Tambahkan ke total jarak.
- Pindahkan posisi pena.