nag0323
2022.03.21
@nag0323님이 새 포스트를 작성했습니다.
#10-2. QUIZ
✅ 오늘의 문제: 이중 링크드 리스트 class Node:   def __init__(self, data, prev=None, next=None):     self.data = data     self.prev = prev     self.next = next class LinkedList(object):   def __init__(self):     self.head = Node(None)     self.size = 0   def get(self, idx):     if idx >= self.size:       print("Index Error")       return None     if idx == 0:         return self.head     else:       node = self.head       for _ in range(idx):         node = node.next       return node   def append(self, data):     if self.size == 0:       self.head = Node(data)     else:       node = self.head       while node.next != None:         node = node.next       node.next = Node(data, node, None)     self.size += 1   def insert(self, value, idx):     if self.size == 0:       self.head = Node(value)     elif idx == 0:       node = Node(value, None, self.head)       self.head = node       self.head.next.prev = self.head     else:       node = self.get(idx - 1)       if node == None:         return       newNode = Node(value)       nextNode = node.next       node.next = newNode       nextNode.prev = newNode       newNode.prev = node       newNode.next = nextNode     self.size += 1   def delete(self, idx):     if self.size == 0:       print("Empty Linked List")       return     elif idx >= self.size:       print("Index Error")       return     elif idx == 0:       self.head = self.head.next       self.head.prev = None     else:       node = self.get(idx - 1)       node.next = node.next.next       if node.next != None:         node.next.prev = node     self.size -= 1   def printAll(self):     node = self.head     while node:       if node.next != None:         print(node.data, "->", end="")       else:         print(node.data)       node = node.next LL = LinkedList() LL.append("Data1") LL.printAll() LL.append("Data2") LL.printAll() LL.append("Data3") LL.printAll() LL.insert("Data4", 1) LL.printAll() LL.delete(0) LL.printAll() LL.delete(2) LL.printAll() LL.delete(0) 모각코 코테하면서 이렇게 긴 코드는 처음인 것 같다 너무 어려워서 다른 분 코드 참고했습니다ㅜ
nag0323
2022.03.18
@nag0323님이 새 포스트를 작성했습니다.
#9-3. QUIZ
import queue task_num = int(input()) task = queue.Queue() for i in range(task_num):     cust_id, task_time = input().split(' ')     task.put([int(cust_id), int(task_time)]) def answer(task):     total_time = 0     work_time = 50     cust_list = []     while(task.qsize() > 0):         cust_id, task_time = task.get()         if task_time > work_time:             print(cust_list)             cust_list.clear()             total_time += 10             work_time = 50         cust_list.append(cust_id)         total_time += task_time         work_time -= task_time     print(cust_list)     print(f'\n총 소요시간: {total_time}분') answer(task) 주말에 복습하면서 다시 풀어봐야겠다.. 너무 어렵다.. 다른 분 코드 참고했습니다ㅜㅜ
HJTN
2022.03.15
@HJTN님이
#6-4. QUIZ
포스트를 좋아합니다.
nag0323
2022.03.14
@nag0323님이 새 포스트를 작성했습니다.
#5-4. QUIZ
✅ 오늘의 문제: 선택 정렬 1️⃣ 전체 배열에서 최솟값을 탐색합니다. 찾아낸 최솟값을 배열의 첫 번째 위치의 데이터와 교환합니다. 2️⃣ 맨 처음 원소를 제외한 전체 배열에서 최솟값을 탐색합니다. 찾아낸 최솟값을 배열의 두 번째 위치의 데이터와 교환합니다. 3️⃣ 첫 번째, 두 번째 원소를 제외한 전체 배열에서 최솟값을 탐색합니다. 찾아낸 최솟값을 배열의 세 번째 위치의 데이터와 교환합니다. 4️⃣ 모든 데이터가 정렬될 때까지 위 과정을 반복합니다. arr=[9, 6, 7, 3, 5] for i in range(len(arr)-1): for j in range(i, len(arr): num=min(arr[i:]) if num==arr[j]: if arr[i]>arr[j]: arr[i], arr[j] = arr[j], arr[i] print("정렬 후 : ", arr)