JAVA
BAEKJOON(백준) Queue - 11866번 JAVA / PYTHON CODE
violetisme
2023. 1. 29. 23:42
JAVA CODE
시간초과에러
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.Deque;
import java.util.LinkedList;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Deque<Integer> q = new LinkedList<>();
//숫자 입력받기
String[] str = br.readLine().strip().split(" ");
int N = Integer.parseInt(str[0]);
int K = Integer.parseInt(str[1]);
int count = 1;
for(int j=0; j<N; j++)
q.offer(j+1);
StringBuilder sb = new StringBuilder();
sb.append('<');
while(q.size() > 1) {
q.addLast(q.poll());
count++;
if(count == K) {
sb.append(q.poll()).append(", ");
count = 1;
}
}
sb.append(q.poll()).append('>');
System.out.println(sb);
}
}
해결된 코드
(while문 수정)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Deque;
import java.util.LinkedList;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//큐 선언
Deque<Integer> q = new LinkedList<>();
String[] str = br.readLine().strip().split(" ");
int N = Integer.parseInt(str[0]);
int K = Integer.parseInt(str[1]);
for(int j=0; j<N; j++)
q.offer(j+1);
StringBuilder sb = new StringBuilder();
sb.append('<');
while(q.size() > 1) {
for(int i=0; i<K-1; i++)
q.addLast(q.poll());
sb.append(q.poll()).append(", ");
}
sb.append(q.poll()).append('>');
System.out.println(sb);
}
}
파이썬 코드
import sys
queue = []
res = []
L = []
L = sys.stdin.readline().strip().split(" ")
N = int(L[0])
K = int(L[1])
for i in range(N) :
queue.append(i+1)
res.append("<")
while(len(queue) > 1):
for i in range(K-1) :
queue.append(queue[0])
queue.remove(queue[0])
res.append(str(queue[0]))
res.append(", ")
queue.remove(queue[0])
res.append(str(queue[0]))
res.append(">")
for i in range(len(res)):
print(res[i], end="")