Pita_Angka/README.md

37 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
1. semua angka unik dan disusun dalam satu baris.
2. Pena awalnya berada di posisi paling kiri (indeks ke-0).
3. Pena harus digunakan untuk menandai angka dari yang terkecil ke terbesar.
4. Biaya pergeseran pena: 10 cm per langkah (antar indeks).
5. 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:
1. Input: Deret angka dipisahkan oleh spasi.
2. Simpan posisi asli setiap angka menggunakan dictionary.
3. Urutkan angka dari kecil ke besar.
4. Simulasikan gerakan pena:
- Mulai dari indeks ke-0.
- Hitung jarak antar indeks, kali 10.
- Tambahkan ke total jarak.
- Pindahkan posisi pena.