From b73f166179ed7da428d6cce74d581858107172ec Mon Sep 17 00:00:00 2001 From: GNO CHOI Date: Sun, 13 Jul 2025 00:19:25 +0900 Subject: [PATCH 1/4] =?UTF-8?q?20250713=5F=EB=B3=B5=EC=8A=B5=5F=EB=A6=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Problem1158Re.java | 46 ++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/main/java/Problem1158Re.java diff --git a/src/main/java/Problem1158Re.java b/src/main/java/Problem1158Re.java new file mode 100644 index 0000000..1e186c2 --- /dev/null +++ b/src/main/java/Problem1158Re.java @@ -0,0 +1,46 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.StringTokenizer; + +public class Problem1158Re { + + public static void main(String[] args)throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader((System.in))); + StringTokenizer tokens = new StringTokenizer(br.readLine(), " "); + StringBuilder sb=new StringBuilder(); + + int N = Integer.valueOf(tokens.nextToken()); + int M = Integer.valueOf(tokens.nextToken()); + List ls = new LinkedList<>(); + for(int i=0;i result = new LinkedList<>(); + sb.append("<"); + while (!ls.isEmpty()) { + result.add(ls.remove(ptr)); + ptr += M - 1; + if (ptr >= ls.size() && !ls.isEmpty()) { + ptr = ptr % ls.size(); + } + } + + for (Integer num : result) { + if (num == result.get(N - 1)) { + sb.append(num + ">"); + } else { + sb.append(num + ", "); + } + } + + System.out.println(sb); + } +} From 0872086fc992516d6f1036d2c947bf929f408b8d Mon Sep 17 00:00:00 2001 From: GNO CHOI Date: Sun, 13 Jul 2025 00:27:53 +0900 Subject: [PATCH 2/4] =?UTF-8?q?20250713=5F=EB=B3=B5=EC=8A=B5=5F=EB=A6=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deque(양방향 삽입삭제 가능한 큐) 사용 --- src/main/java/Problem1158Re.java | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/main/java/Problem1158Re.java b/src/main/java/Problem1158Re.java index 1e186c2..714d431 100644 --- a/src/main/java/Problem1158Re.java +++ b/src/main/java/Problem1158Re.java @@ -1,10 +1,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.StringTokenizer; +import java.util.*; public class Problem1158Re { @@ -15,24 +12,24 @@ public static void main(String[] args)throws IOException { int N = Integer.valueOf(tokens.nextToken()); int M = Integer.valueOf(tokens.nextToken()); - List ls = new LinkedList<>(); + Deque q = new ArrayDeque<>(); for(int i=0;i result = new LinkedList<>(); sb.append("<"); - while (!ls.isEmpty()) { - result.add(ls.remove(ptr)); - ptr += M - 1; - if (ptr >= ls.size() && !ls.isEmpty()) { - ptr = ptr % ls.size(); + while (!q.isEmpty()) { + for (int i = 1; i <= M - 1; i++) { + q.offer(q.poll()); } + result.add(q.poll()); } + for (Integer num : result) { if (num == result.get(N - 1)) { sb.append(num + ">"); From 818d42e1d3a35b3443f220011c944fca62accf1b Mon Sep 17 00:00:00 2001 From: GNO CHOI Date: Sun, 13 Jul 2025 01:09:43 +0900 Subject: [PATCH 3/4] =?UTF-8?q?20250713=5F=EB=B3=B5=EC=8A=B5=5F=EB=A6=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit stack --- src/main/java/Problem1874.java | 52 ++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/main/java/Problem1874.java diff --git a/src/main/java/Problem1874.java b/src/main/java/Problem1874.java new file mode 100644 index 0000000..e98aee8 --- /dev/null +++ b/src/main/java/Problem1874.java @@ -0,0 +1,52 @@ +import java.util.Scanner; +import java.util.Stack; + +public class Problem1874 { + // asc + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + StringBuilder sb = new StringBuilder(); + Stack stack = new Stack<>(); + int N = sc.nextInt(); + + int max = 0; + int prev = -1; + for (int i = 0; i < N; i++) { + int target = sc.nextInt(); + + if (i == 0) { // start + for (int j = 1; j <= target; j++) { + if(max target) { + System.out.println("NO"); + return; + } + for (int j = max+1; j <= target; j++) { + stack.push(j); + sb.append("+\n"); + max = j; + } + prev = stack.pop(); + sb.append("-\n"); + } + } + } + + System.out.println(sb); + + } +} From a62870b20ade4d2f4ca16e16876b0943acd96d34 Mon Sep 17 00:00:00 2001 From: GNO CHOI Date: Sun, 13 Jul 2025 01:17:21 +0900 Subject: [PATCH 4/4] refactor --- src/main/java/Main.java | 56 +++++++++++++++------------------ src/main/java/Problem11328.java | 15 ++++----- src/main/java/Problem1874.java | 37 +++++++--------------- 3 files changed, 44 insertions(+), 64 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index c3db1da..3599b64 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -5,44 +5,38 @@ public class Main{ public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer tokens = new StringTokenizer(br.readLine(), ","); + ArrayList ls = new ArrayList<>(); + while (tokens.hasMoreTokens()) { + ls.add(Integer.parseInt(tokens.nextToken())); + } + int[] array = new int[ls.size()]; + for (int i = 0; i < ls.size(); i++) { + array[i] = (int)ls.get(i); + } - int N =Integer.valueOf(br.readLine()); - String[] results = new String[N]; - - for(int i=0;i max) { + for (int j = max + 1; j <= target; j++) { stack.push(j); sb.append("+\n"); } - prev = stack.pop(); - sb.append("-\n"); - } else { // progress - if (target < prev) { - while (stack.peek() != target) { - stack.pop(); - sb.append("-\n"); - } - prev = stack.pop(); - sb.append("-\n"); - } else { - if (max > target) { - System.out.println("NO"); - return; - } - for (int j = max+1; j <= target; j++) { - stack.push(j); - sb.append("+\n"); - max = j; - } - prev = stack.pop(); - sb.append("-\n"); - } + max = target; + } + + if (stack.peek() != target) { + System.out.println("NO"); + return; } + + stack.pop(); + sb.append("-\n"); } System.out.println(sb);