Skip to content

Commit

Permalink
Solve data structure problems
Browse files Browse the repository at this point in the history
  • Loading branch information
Nevaland committed Sep 14, 2021
1 parent 50e3bef commit a4d1f4c
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 0 deletions.
12 changes: 12 additions & 0 deletions baekjoon/1158/neva/1158.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from sys import stdin

N, K = map(int, stdin.readline().strip().split(' '))
arr = [_ for _ in range(1, N+1)]

remove_i = 0
josephus = []
for size in range(N, 0, -1):
remove_i = (remove_i + (K - 1)) % size
josephus.append(arr.pop(remove_i))

print("<%s>" % ", ".join(map(str, josephus)))
47 changes: 47 additions & 0 deletions baekjoon/18258/neva/18258.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
from sys import stdin

class Queue:

def __init__(self):
self.queue = list()
self.qbp = 0

def push(self, x):
self.queue.append(x)

def pop(self):
if self.empty():
return -1
else:
self.qbp += 1
return self.queue[self.qbp - 1]

def size(self):
return len(self.queue) - self.qbp

def empty(self):
if self.size() == 0:
return 1
else:
return 0

def front(self):
if self.empty():
return -1
else:
return self.queue[self.qbp]

def back(self):
if self.empty():
return -1
else:
return self.queue[-1]

queue = Queue()
for _ in range(int(stdin.readline())):
cmd_args = stdin.readline().split()

if cmd_args[0] == "push":
getattr(queue, cmd_args[0])(cmd_args[1])
else:
print(getattr(queue, cmd_args[0])())
13 changes: 13 additions & 0 deletions baekjoon/2164/neva/2164.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from sys import stdin

N = int(stdin.readline())

square = 2
if N <= 2:
print(N)
else :
while True:
square *= 2
if N <= square:
print((N - (square // 2)) * 2)
break

0 comments on commit a4d1f4c

Please sign in to comment.