58 lines
1.4 KiB
Python
58 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""TUGAS 4.5_RASYA ALFAHRIZI_202510715125
|
|
|
|
Automatically generated by Colab.
|
|
|
|
Original file is located at
|
|
https://colab.research.google.com/drive/1b6TvYPTYeVAHtWP5hTv5cqE6_XbY10U9
|
|
|
|
**4.5 HILANG DALAM KERAMAIAN**
|
|
|
|
Nama : Rasya Alfahrizi
|
|
NPM : 202510715125
|
|
Kelas : F2A1
|
|
|
|
|
|
PENJELASAN
|
|
|
|
Program ini dibuat untuk mencari satu angka yang hilang dari deretan angka yang sebenarnya berurutan. Angka-angka tersebut digabung jadi satu string tanpa spasi, jadi program akan membongkar dan mengecek urutannya satu per satu sampai ketemu angka yang tidak ada, lalu langsung menampilkan angka yang hilang secara otomatis menggunakan Python.
|
|
"""
|
|
|
|
def find_missing_number(s):
|
|
for i in range(1, 7):
|
|
first = int(s[:i])
|
|
curr = first
|
|
idx = 0
|
|
missing = -1
|
|
skipped = False
|
|
|
|
while idx < len(s):
|
|
curr_str = str(curr)
|
|
|
|
if s.startswith(curr_str, idx):
|
|
idx += len(curr_str)
|
|
curr += 1
|
|
else:
|
|
if skipped:
|
|
break
|
|
skipped = True
|
|
missing = curr
|
|
curr += 1
|
|
|
|
if idx == len(s) and missing != -1:
|
|
return missing
|
|
|
|
return -1
|
|
|
|
|
|
# INPUT
|
|
n = int(input("Masukkan jumlah baris: "))
|
|
data = []
|
|
|
|
for i in range(n):
|
|
s = input(f"Baris ke-{i+1}: ")
|
|
data.append(s)
|
|
|
|
# OUTPUT
|
|
for i in range(n):
|
|
print(f"h#{i+1}: {find_missing_number(data[i])}") |