diff --git a/naekang/boj1158.java b/naekang/boj1158.java new file mode 100644 index 0000000..c74205d --- /dev/null +++ b/naekang/boj1158.java @@ -0,0 +1,39 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.LinkedList; +import java.util.Queue; +import java.util.StringTokenizer; + +public class boj1158 { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + StringBuilder sb = new StringBuilder(); + + int N = Integer.parseInt(st.nextToken()); + int K = Integer.parseInt(st.nextToken()); + + Queue queue = new LinkedList<>(); + + // 1부터 N까지의 숫자를 queue에 삽입 + for (int i = 1; i <= N; i++) { + queue.add(i); + } + + sb.append("<"); + + // queue의 크기가 1이될때까지 반복 + while (queue.size() != 1) { + // K - 1번째까지 queue 앞에서 꺼내서 뒤로 넣기 + for (int i = 0; i < K - 1; i++) { + queue.add(queue.poll()); + } + sb.append(queue.poll()).append(", "); + } + // 큐의 마지막에 남은 숫자를 꺼낸다 + sb.append(queue.poll()).append(">"); + + System.out.println(sb); + } +} diff --git a/naekang/boj17413.java b/naekang/boj17413.java new file mode 100644 index 0000000..86d6400 --- /dev/null +++ b/naekang/boj17413.java @@ -0,0 +1,47 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Stack; + +public class boj17413 { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringBuilder sb = new StringBuilder(); + + String S = br.readLine(); + + Stack stack = new Stack<>(); + boolean checkIsIn = false; + + for (int i = 0; i < S.length(); i++) { + if (S.charAt(i) == '<') { + checkIsIn = true; + + while (!stack.isEmpty()) { + sb.append(stack.pop()); + } + sb.append(S.charAt(i)); + } else if (S.charAt(i) == '>') { + checkIsIn = false; + sb.append(S.charAt(i)); + } else if (checkIsIn) { + sb.append(S.charAt(i)); + } else if (!checkIsIn) { + if (S.charAt(i) == ' ') { + while (!stack.isEmpty()) { + sb.append(stack.pop()); + } + sb.append(S.charAt(i)); + } else { + stack.push(S.charAt(i)); + } + } + } + + while (!stack.isEmpty()) { + sb.append(stack.pop()); + } + + System.out.println(sb); + } +} diff --git a/naekang/boj9012.java b/naekang/boj9012.java new file mode 100644 index 0000000..be5c67f --- /dev/null +++ b/naekang/boj9012.java @@ -0,0 +1,42 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Stack; + +public class boj9012 { + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringBuilder sb = new StringBuilder(); + + int T = Integer.parseInt(br.readLine()); + + while (T-- > 0) { + Stack stack = new Stack<>(); + String str = br.readLine(); + boolean flag = false; + + for (int i = 0; i < str.length(); i++) { + char ch = str.charAt(i); + + if (ch == '(') { + stack.push(ch); + } else if (ch == ')') { + if (!stack.isEmpty()) { + stack.pop(); + } else { + flag = true; + break; + } + } + } + if (stack.isEmpty() && !flag) { + sb.append("YES").append("\n"); + } else { + sb.append("NO").append("\n"); + } + } + + System.out.println(sb); + } +}