728x90

Java 90

35 삐약 : 백준 5397 | 키로거 [바킹독 문제 풀이|연결리스트|JAVA]

https://www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net package BKD_0x3_LinkedList; import java.io.*; import java.util.Stack; public class BOJ_5397 { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(Syst..

34 삐약 : 백준 1406[바킹독 문제 풀이|연결리스트|JAVA]

https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 1트 : 시간 초과 : Linked List 사용 package BKD_0x3_LinkedList; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; public class BOJ_1406 { public static void mai..

33 삐약 : 백준 1919[바킹독 문제 풀이|배열|JAVA]

https://www.acmicpc.net/problem/1919 1919번: 애너그램 만들기 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs www.acmicpc.net package BKD_0x2_Array; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class BOJ_1919 { public static void main(String[] args) throw..

32 삐약 : 백준 13300[바킹독 문제 풀이|배열|JAVA]

https://www.acmicpc.net/problem/11328 11328번: Strfry C 언어 프로그래밍에서 문자열(string)은 native한 자료형이 아니다. 사실, 문자열은 그저, 문자열의 끝을 표시하기 위한 말단의 NULL이 사용된, 문자들로 이루어진 문자열일 뿐이다. 하지만 프로그래 www.acmicpc.net package BKD_0x2_Array; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Scanner; public class BOJ_11328 { public static void m..

31 삐약 : 백준 13300[바킹독 문제 풀이|배열|JAVA]

https://www.acmicpc.net/problem/13300 13300번: 방 배정 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 수학여행에 참가하는 학생 수를 나타내는 정수 N(1 ≤ N ≤ 1,000)과 한 방에 배정할 수 있는 최대 인원 수 K(1 < K ≤ 1,000)가 공백으로 분리되어 www.acmicpc.net package BKD_0x2_Array; import java.util.Scanner; public class BOJ_13300 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int K = sc.nextInt(); int[] g_arr ..

30 삐약 : 백준 10807[바킹독 문제 풀이|배열|JAVA]

https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net package BKD_0x2_Array; import java.util.Scanner; public class BOJ_10807 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; for(int i=0;i

29 삐약 : 백준 3237 [바킹독 문제 풀이|배열|투포인터| JAVA]

https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 1차 시도 : 시간 초과 package BKD_0x2_Array; import java.util.Scanner; public class BOJ_3273 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[]..

[DP | Dynamic Programming] 카데인 알고리즘 Kadane's Algorithm

배열이 주어졌을때 maximum subarray 를 찾고자 한다. 본인의 경우 배열 내에서 가장 큰 값이 지속되는 구간을 찾아아 시작 인덱스와 종료 인덱스를 추출해야 했다. 시간 복잡도 O(N) 개념 각각의 최대 부분 합은 이전 최대 부분 합이 반영된 결과이다. 이전 인덱스가 가질 수 있는 최대 부분 합에 현재 인덱스 값을 더하면 현재 인덱스가 가질 수 있는 최대 부분 합을 구할 수 있음을 의미한다. 방법 각각의 인덱스 값은 이전 인덱스가 갖고 있는 최대 부분 합을 연장할지 아니면 자신의 값으로 초기화 할지 선택한다. 연장 이전 인덱스의 최대 부분합 + 현재 인덱스의 최대 부분 합 > 현재 인덱스 값 Math.max(A[i],A[i] + A[i-1]) 적용 코드 public AvailableSchedul..

27 삐약 : 백준 10808[바킹독 문제 풀이 | 배열 | JAVA]

https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net package Array; import java.util.*; public class BOJ_10808 { public static void main(String args[]){ Scanner sc = new Scanner(System.in); String s = sc.next(); int[] count = new int[26]; for(char c: s.toCharArray()){ int index = c -97; count[index] +=1; } for(int i:count){ Syst..

[대학교멋사🦁/OOD] 5. 의존과 DI(의존 주입)

1. 의존하다 기능 구현을 위해 다른 구성 요소를 사용하는 것. ex) 객체 생성, 메소드 호출, 데이터 사용 등 의존은 변경이 전파될 가능성이 있음을 의미 내가 의존하는 대상이 변경되면 나도 바뀔 가능성이 존재 == 의존하는 대상이 변경되면 의존받는 대상도 바뀔 가능성이 존재 ex) 호출하는 메소드의 파라미터 변경 ex) 호출하는 메소드가 발생할 수 있는 exception 타입 추가 (예외 처리) 2. 순환 의존 A->B->C->A의 형태로 의존하는 관계. # 문제점 변경 연쇄 전파 가능성 존재. => 왠만하면 클래스, 패키지, 모듈 등의 모든 수준에서 순환의존이 없도록 구현하도록 하자. Q. 의존하는 대상이 많다면? A,B,C,D,E,F를 의존하는 X가 존재한다고 할때 X는 의존하는 애들이 바뀔 때 ..

728x90