diff --git a/baekjoon/1158/neva/1158.py b/baekjoon/1158/neva/1158.py index e69de29..7fe334d 100644 --- a/baekjoon/1158/neva/1158.py +++ b/baekjoon/1158/neva/1158.py @@ -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))) diff --git a/baekjoon/18258/neva/18258.py b/baekjoon/18258/neva/18258.py new file mode 100644 index 0000000..4cbac99 --- /dev/null +++ b/baekjoon/18258/neva/18258.py @@ -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])()) diff --git a/baekjoon/2164/neva/2164.py b/baekjoon/2164/neva/2164.py new file mode 100644 index 0000000..ef5c611 --- /dev/null +++ b/baekjoon/2164/neva/2164.py @@ -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