diff --git a/DataLatihan/answer1.py b/DataLatihan/answer1.py index a489c87..e0f160f 100644 --- a/DataLatihan/answer1.py +++ b/DataLatihan/answer1.py @@ -7,3 +7,9 @@ def readData(data1): for line in data : x = line.split() return x + +# Jawaban +# -------- +sensor = ['I', 'and', 'The', 'you'] +tersensor = ['*' * len(kata) if kata in sensor else kata for kata in readData(data1)] +print(' '.join(tersensor)) \ No newline at end of file diff --git a/DataLatihan/answer2.py b/DataLatihan/answer2.py index 5d28fd2..3c1cbe8 100644 --- a/DataLatihan/answer2.py +++ b/DataLatihan/answer2.py @@ -6,4 +6,9 @@ def readData(data1): with open(data1) as data : for line in data : x = line.split() -return x + return x + +# Jawaban +# -------- +hasil = [kata for kata in readData(data1) if kata in readData(data2)] # menghasilkan list berisi kata yang sama +for kata in set(hasil): print(kata, hasil.count(kata)) # output hasil diff --git a/Pertemuan 3 ( Stack & Queue )/Tugas/stack.py b/Pertemuan 3 ( Stack & Queue )/Tugas/stack.py new file mode 100644 index 0000000..f3554da --- /dev/null +++ b/Pertemuan 3 ( Stack & Queue )/Tugas/stack.py @@ -0,0 +1,37 @@ + +class Stack: + + def __init__(self): + self.items = [] + def isEmpty(self): + return self.items == [] + def push(self, item): + self.items.append(item) + def pop(self): + return self.items.pop() + def peek(self): + return self.items[len(self.items)-1] + def size(self): + return len(self.items) + + +s = Stack() + +str_input = "Isd(ff)(f (a)(d)d)"; +n = 0; + +for x in str_input: + if (x == "("): + s.push(x) + elif (x == ")"): + if (s.isEmpty()): + break + else: + s.pop() + n += 1 + +if (s.isEmpty() and n == len(str_input)): + print(str_input, "is VALID") +else: + print(str_input, "is NOT VALID") +