diff --git a/2025-02-08/terry/p_1.java b/2025-02-08/terry/p_1.java new file mode 100644 index 0000000..cc7d580 --- /dev/null +++ b/2025-02-08/terry/p_1.java @@ -0,0 +1,38 @@ +package study.d_250208; + +import java.util.*; +import java.io.*; + +public class p_1 { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + + int n = Integer.parseInt(br.readLine()); + StringTokenizer st = new StringTokenizer(br.readLine()); + int j = 0; // 홀수 + int j_sum = 0; // 홀수 합 + int t = 0; // 짝수 + int t_sum = 0; // 짝수 합 + + for (int i = 0; i < n; i++) { + int a = Integer.parseInt(st.nextToken()); + if (a % 2 == 0) { + t++; + t_sum += a; + } else { + j++; + j_sum += a; + } + } + + if (j > t) bw.write("J"); + else if (j < t) bw.write("Taebong"); + else { // 카드 개수가 같으면 합 비교 + if (j_sum > t_sum) bw.write("J"); + else bw.write("Taebong"); + } + br.close(); + bw.close(); + } +} diff --git a/2025-02-08/terry/p_2.java b/2025-02-08/terry/p_2.java new file mode 100644 index 0000000..783a560 --- /dev/null +++ b/2025-02-08/terry/p_2.java @@ -0,0 +1,45 @@ +package study.d_250208; + +import java.util.*; +import java.io.*; + +public class p_2 { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + + int n, k; + StringTokenizer st = new StringTokenizer(br.readLine()); + + n = Integer.parseInt(st.nextToken()); + k = Integer.parseInt(st.nextToken()); + + st = new StringTokenizer(br.readLine()); + + int sum = 0; + int temp; // 이전 값을 저장하는 temp + for (int i = 0; i < n; i++) { + int a = Integer.parseInt(st.nextToken()); + temp = sum; + sum += a; + + if (sum == k) { + bw.write(sum + ""); + break; + } + + if (sum > k) { + if (sum - k > k - temp) bw.write(temp + ""); + else if (sum - k < k - temp) bw.write(sum + ""); + else { + if (sum > temp) bw.write(sum + ""); + else bw.write(temp + ""); + } + break; + } + } + br.close(); + bw.close(); + + } +} diff --git a/2025-02-08/terry/p_3.java b/2025-02-08/terry/p_3.java new file mode 100644 index 0000000..f9be413 --- /dev/null +++ b/2025-02-08/terry/p_3.java @@ -0,0 +1,46 @@ +package study.d_250208; + +import java.util.*; +import java.io.*; + +public class p_3 { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + + int n = Integer.parseInt(br.readLine()); + StringTokenizer st = new StringTokenizer(br.readLine()); + + int[] arr = new int[n]; + for (int i = 0; i < n; i++) { + arr[i] = Integer.parseInt(st.nextToken()); + } + + + // max 값 찾기 + int max = arr[0]; + int max_i = 0; + for (int i = 0; i < n; i++) { + if (arr[i] > max) { + max = arr[i]; + max_i = i; + } + } + + // 다음 max 찾기 + int max2; + if(max_i == 0) // 만약 가장 큰값이 첫번째면 다음 수부터 시작 + max2 = arr[1]; + else + max2 = arr[0]; + + for (int i = 0; i < n; i++) { + if (i != max_i && arr[i] > max2) max2 = arr[i]; + } + + bw.write(max + " " + max2); + + br.close(); + bw.close(); + } +} diff --git a/2025-02-08/terry/p_4.java b/2025-02-08/terry/p_4.java new file mode 100644 index 0000000..5985405 --- /dev/null +++ b/2025-02-08/terry/p_4.java @@ -0,0 +1,35 @@ +package study.d_250208; + +import java.util.*; +import java.io.*; + +public class p_4 { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + + int n, k; + StringTokenizer st = new StringTokenizer(br.readLine()); + n = Integer.parseInt(st.nextToken()); + k = Integer.parseInt(st.nextToken()); + + int[] arr = new int[n]; + + st = new StringTokenizer(br.readLine()); + for (int i = 0; i < n; i++) { + arr[i] = Integer.parseInt(st.nextToken()); + } + + int max = 0; + for (int i = 0; i < n - k; i++) { + int sum = 0; + for (int j = i; j < i + k; j++) { + sum += arr[j]; + } + if (sum > max) max = sum; + } + bw.write(max + ""); + br.close(); + bw.close(); + } +} diff --git a/2025-02-08/terry/p_4_2.java b/2025-02-08/terry/p_4_2.java new file mode 100644 index 0000000..144e234 --- /dev/null +++ b/2025-02-08/terry/p_4_2.java @@ -0,0 +1,40 @@ +package study.d_250208; + +import java.io.*; +import java.util.StringTokenizer; + +/** + * 4번 문제 다른 풀이 + */ +public class p_4_2 { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + + int n, k; + StringTokenizer st = new StringTokenizer(br.readLine()); + n = Integer.parseInt(st.nextToken()); + k = Integer.parseInt(st.nextToken()); + + int[] arr = new int[n]; + + // 배열 초기화 + st = new StringTokenizer(br.readLine()); + for (int i = 0; i < n; i++) { + arr[i] = Integer.parseInt(st.nextToken()); + } + + int max = 0; + for (int i = 0; i < k; i++) max += arr[i]; + + int nextSum = max; + for (int i = 1; i < n - k; i++) { + nextSum = nextSum - arr[i - 1] + arr[i + k - 1]; + if (nextSum > max) max = nextSum; + } + bw.write(max + ""); + + bw.close(); + br.close(); + } +}