From addf9e4e697744de60f2f8af5554c733bc295271 Mon Sep 17 00:00:00 2001 From: sujunghwang <64738942+sujunghwang@users.noreply.github.com> Date: Thu, 23 Feb 2023 09:45:08 +0900 Subject: [PATCH 1/3] =?UTF-8?q?Week05=20PRG=2042584=20=EC=A3=BC=EC=8B=9D?= =?UTF-8?q?=EA=B0=80=EA=B2=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sujunghwang/week05/PRG_42584.java | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 sujunghwang/week05/PRG_42584.java diff --git a/sujunghwang/week05/PRG_42584.java b/sujunghwang/week05/PRG_42584.java new file mode 100644 index 0000000..6592743 --- /dev/null +++ b/sujunghwang/week05/PRG_42584.java @@ -0,0 +1,27 @@ +/* +https://school.programmers.co.kr/learn/courses/30/lessons/42584?language=java + +주어진 배열을 탐색하면서 현재 값보다 작은 값이 언제 나오는지 구하면 되는 문제 +문제 카테고리는 스택/큐 였는데 모르겠어서 그냥 배열로 이중 for loop 돌림 +효율성 문제 생길 줄 알았는데 안생겨서 그냥 넘어가기로 함 +*/ + +class Solution { + public int[] solution(int[] prices) { + int len = prices.length; + int[] answer = new int[len]; + + for(int i = 0; i < len-1; i++){ + answer[i] = 1; + for(int j = i+1; j < len-1; j++){ + if(prices[j] >= prices[i]){ + answer[i] += 1; + } else { + break; + } + } + } + + return answer; + } +} From 03076d23fd3da5630006d2d4a78f9a3d9a97544e Mon Sep 17 00:00:00 2001 From: sujung Date: Sat, 25 Feb 2023 23:04:54 +0900 Subject: [PATCH 2/3] remove --- sujunghwang/week05/PRG_42584.java | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 sujunghwang/week05/PRG_42584.java diff --git a/sujunghwang/week05/PRG_42584.java b/sujunghwang/week05/PRG_42584.java deleted file mode 100644 index 6592743..0000000 --- a/sujunghwang/week05/PRG_42584.java +++ /dev/null @@ -1,27 +0,0 @@ -/* -https://school.programmers.co.kr/learn/courses/30/lessons/42584?language=java - -주어진 배열을 탐색하면서 현재 값보다 작은 값이 언제 나오는지 구하면 되는 문제 -문제 카테고리는 스택/큐 였는데 모르겠어서 그냥 배열로 이중 for loop 돌림 -효율성 문제 생길 줄 알았는데 안생겨서 그냥 넘어가기로 함 -*/ - -class Solution { - public int[] solution(int[] prices) { - int len = prices.length; - int[] answer = new int[len]; - - for(int i = 0; i < len-1; i++){ - answer[i] = 1; - for(int j = i+1; j < len-1; j++){ - if(prices[j] >= prices[i]){ - answer[i] += 1; - } else { - break; - } - } - } - - return answer; - } -} From 71b627daa6513eed5f3be091f5494858234b9632 Mon Sep 17 00:00:00 2001 From: sujung Date: Sun, 26 Feb 2023 23:57:26 +0900 Subject: [PATCH 3/3] =?UTF-8?q?Week05=20SWEA=201231=20=EC=A4=91=EC=9C=84?= =?UTF-8?q?=EC=88=9C=ED=9A=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\354\234\204\354\210\234\355\232\214.java" | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 "sujunghwang/week05/SWEA_\354\244\221\354\234\204\354\210\234\355\232\214.java" diff --git "a/sujunghwang/week05/SWEA_\354\244\221\354\234\204\354\210\234\355\232\214.java" "b/sujunghwang/week05/SWEA_\354\244\221\354\234\204\354\210\234\355\232\214.java" new file mode 100644 index 0000000..626d82b --- /dev/null +++ "b/sujunghwang/week05/SWEA_\354\244\221\354\234\204\354\210\234\355\232\214.java" @@ -0,0 +1,36 @@ +package B형특강; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +/* +이진탐색트리로 풀 수 있는 문제 +왼쪽은 현재 노드*2, 오른쪽은 현재노드*2+1인 것을 이용하면 쉽게 풀 수 있음 +*/ +public class SWEA_중위순회 { + static char[] arr; + static int n; + static StringBuilder sb = new StringBuilder(); + public static void main(String[] args) throws Exception{ + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + for (int tc = 1; tc <= 10; tc++) { + sb.append("#" + tc+ " "); + + n = Integer.parseInt(br.readLine()); + arr = new char[n+1]; + for (int i = 1; i <= n; i++) { + arr[i] = br.readLine().split(" ")[1].charAt(0); + } + dfs(1); + sb.append("\n"); + } + System.out.println(sb); + } + public static void dfs(int cur){ + + if(cur > n) return; + + dfs(cur*2); + sb.append(arr[cur]); + dfs(cur*2 + 1); + } +}