class node():

def __init__(self, data):

self.data = data

self.next = None

class SLL():

def __init__(self):

self. head = None

self.size = 0

def __str__(self):

text = ''

temp = self. head

while temp:

text += str(temp.data) + ' '

temp = temp.next

return text

def append(self, data): # 리스트의 제일 뒤에 data 추가

if not self.head:

self.head = node(data)

else:

temp = self.head

prev = None

while temp :

prev = temp

temp = temp.next

prev.next = node(data)

# while True:

#if temp.next==None:

#break

#temp = temp.next

def insert(self, idx, data): # idx 위치에 data 추가

pass

def remove(self, data): # data와 일치하는 node를 하나 제거

pass

def pop(self): #제일 뒤의 node 제거

if self.head == None:

return None

 

if self.head.next == None:

data = self.head.data

self.head = None

return data

 

prev = None

temp = self.head

while temp.next:

prev = temp

temp = temp.next

prev.next = None

return temp.data

 

a = SLL()

a.append(10)

print(a)

a.append(20)

print(a)

a.append(30)

print(a)

a.pop()

print(a)

a.pop()

print(a)

print(a.pop())

print(a)