문제 풀이/99클럽
[99클럽] 33일차 TIL
동까의 코딩
2024. 6. 22. 23:11
반응형
https://leetcode.com/problems/find-the-winner-of-the-circular-game/
class Node:
def __init__(self, v):
self.val = v
self.next = None
self.prev = None
class Solution:
def findTheWinner(self, n: int, k: int) -> int:
start_node = cur_node = Node(1)
prev_node = None
for i in range(2, n + 1):
new_node = Node(i)
cur_node.next = new_node
cur_node.prev = prev_node
prev_node = cur_node
cur_node = new_node
cur_node.next = start_node
cur_node.prev = prev_node
start_node.prev = cur_node
index = 1
cur_node = start_node
while cur_node.next.val != cur_node.val:
if index % k == 0:
cur_node.prev.next = cur_node.next
cur_node.next.prev = cur_node.prev
cur_node = cur_node.next
index += 1
return cur_node.val반응형