자바생
자바(백준) 1668 트로피 진열
BOJ(Java) 2021. 1. 28. 14:25

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 package BruteForce_Search; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String args[]) throws IOException { BufferedReader br = ..

자바(백준) 3079 입국심사
BOJ(Java) 2021. 1. 27. 23:39

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 package Binary_Search; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class BOJ3079{ static long N, M, max; static int time[]; public static void ma..

자바(백준) 2110 공유기 설치
BOJ(Java) 2021. 1. 27. 16:29

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 package Binary_Search; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class BOJ2110 { static int N,C; static int ad[];..

자바(백준) 1072 게임
BOJ(Java) 2021. 1. 19. 15:04

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 package Binary_Search; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BOJ1072 { static long x, y, z, changeZ; public static void main(String args[]) throws IOException { BufferedRead..

자바(백준) 1654 랜선 자르기
BOJ(Java) 2021. 1. 15. 15:02

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 package Binary_Search; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { static int line[]; static int N; public static void main..

자바(백준) 2512 예산
BOJ(Java) 2021. 1. 15. 11:37

오답 노트 & 새로 알게 된 점 해당 문제는 매개 변수 탐색 방법을 사용하면 된다. 정해진 총액 이하에서 가능한 최대의 총 예산을 구해라 -> 예산이 n일 때, 정해진 총액을 만족하느냐를 구하면 된다. 여기서 이분 탐색을 실시할 때, e값을 생각해보아야한다. 만약에 e를 M의 최댓값인 10억이라고 잡는다면, 예제 입력2와 같이 총 나라의 예산을 합쳐도 총합 예산보다 작다면 상한액을 10억이라할 수 있기 때문이다. 즉, 모든 요청이 배정될 수 있는 경우에는 요청한 금액을 그대로 배정하면 된다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ..

자바(백준) 2805 나무 자르기
BOJ(Java) 2021. 1. 14. 16:33

(처음 시도) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { static int woodArray[]; static int woodLength; public..

자바(백준) 2776 암기왕
BOJ(Java) 2021. 1. 13. 21:06

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 package Binary_Search; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int note[]; stat..

이분 탐색
Algorithm 개념 2021. 1. 13. 19:50

이분 탐색에 있어서, 숫자가 중복인지 아닌지 알아채는 게 중요하다. 중복이면 HashMap을 사용하고 아니면 그냥 일반적으로 풀면 된다. 가장 많이 하는 실수 중에 하나가 범위가 int형인지 int형을 넘어선 long형인지 잘 구분해야한다. 또한, 이분 탐색은 정렬된 상태에서 해야함을 잊지 말아야한다. O(logN)에 특정 값을 찾을 수 있다. Binary Search, Upperbound, Lowerbound 코드를 작성해보자. Binary Search 처음에 while을 빠져나오는 조건에서 궁금한 점이 생겼다. 어떤 코드는 등호가 들어가고, 어떤 코드는 등호가 들어가지 않았다. 차이점은 등호가 들어가게 되면 ed = mid가 되고 등호가 들어가지 않으면 ed = mid - 1로 설정이 되있다. 1 2..

article thumbnail
컬렉션 프레임워크 : Map
Java 2021. 1. 13. 18:05

Map 인터페이스를 구현하는 클래스 - 대표적으로 HashMap, LinkedHashMap, TreeMap이 있다. Map 특징 - map은 key와 value로 이루어져 있고, 두 개의 값이 한 쌍의 데이터로 이루어져 있다. 예를 들어 key에는 이름 value에는 홍길동 이런 식으로 한 쌍의 데이터가 저장되어있다. - 중복을 허용하지 않는다. Map 공통 메소드 boolean containsKey(Object key) - map이 특정 key값을 가지고 있으면 true 리턴 boolean containsValue(Object value) - map이 특정 value값을 가지고 있으면 true 리턴 V get(Object key) - key에 해당하는 value값을 리턴한다. 만약에 key값이 존재하지..

자바(백준) 10816 숫자 카드2
BOJ(Java) 2021. 1. 13. 17:29

풀이 방법 이 문제를 처음에 풀면서 중복된 것을 생각 못하고 일반적인 이분 탐색으로 풀었다. 당연히 풀리지 않았다. 그래서 중복된 숫자를 배열의 index에 집어넣고 그 배열의 값을 한 개씩 증가시키는 방법을 사용하려 했다. 그러나 예제에 음수가 있는 것을 보고 그 방법이 안된다는 것을 알게 됐다. 그래서 마지막으로 생각한 것이 HashMap이었다. 이 문제를 풀면서 HashMap을 제대로 공부하게 되었다. 만약, 음수가 존재하지 않았다면 index에 집어넣는 방법도 나쁘지 않다고 생각한다. 그리고 이분 탐색하면서 꼭꼭 기억해야 하는 점이 있다면, binarySearch에서 sang[mid] == num 일 때, 꼭 return 해주어야 한다는 점이다. 사용 개념 HashMap / Map / 이분탐색 1..

컬렉션 프레임워크 : Set < HashSet, TreeSet, LinkedHashSet >
Java 2021. 1. 13. 17:07

📌Set 인터페이스를 구현하는 클래스 - HashSet, TreeSet, LinkedHashSet 등 📌Set 특징 -List와 다르게 객체를 중복해서 저장할 수 없다. ex) 20 10 10 30 40 20 10 30 40만 저장됨. 중복해서 저장할 수 없는 대신에 순서가 보장되지 않는다. 📌Set 공통 메소드 boolean add(E e) - 객체 저장 후 성공이면 true, 실패면 false를 리턴 boolean contains(Object o) - 객체가 있는지 여부 리턴 boolean isEmpty() - 컬렉션이 비어있는지 확인 boolean remove(Object o) - 인자로 받은 요소를 삭제한다. int size() - 요소의 개수를 리턴 Object[] toArray() -set을 ..

728x90

검색 태그