본문 바로가기

알고리즘50

[알고리즘] 연속 부분수열 with Java 오늘 배운 것 1. 느낀점 . 알고리즘 풀기가 점점 부담스러워졌다.. 역시 어려운 것이 나와서 그런가. 개념은 어렵지 않은데 구현력이 떨어지는 것을 느낀다. while문을 이용해서 계속 빼주는 것을 배웠다. 2. 문제 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int m = kb.nextInt(); int[] arr = new int [n]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } solution(m,arr); } privat.. 2022. 3. 11.
[알고리즘] 최대 매출 with Java 포인터를 사용했다. 이게 될까? 했는데 되어서 너무 신기했다. 오늘 배운 것 1. 문제 풀이 . 로직도 강사님과 동일해서 기분이 좋았다. 이것을 sliding window라고 부르기로 했다고 한다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int m = kb.nextInt(); int[] arr = new int [n]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } solution(m,arr); } private static void .. 2022. 3. 10.
[알고리즘] 공통원소 구하기 with Java 이번문제 역시 포인터를 활용한 문제이다. 먼저 정렬을 해준다는 것이 차이점이었다. 오늘 배운 것 1. 문제 풀이 import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } int m = kb.nextInt(); int[] arr2 = new int[m]; for (int i.. 2022. 3. 10.
[알고리즘] 두 배열 합치기 with Java, 포인터 오늘은 대선이라 휴식했다. 공부시간이 부족했다. 오늘 배운 것 1. 문제 풀이 . 알고리즘적으로 어떻게 푸는 것인지 배웠다. 나는 단순히 배열을 합치고 sort하면 된다고 생각했는데, 알고리즘 적으로 개선된 알고리즘은 아래와 같다. import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } int m = kb.next.. 2022. 3. 9.