java4 [BOJ 1202 보석도둑 java] 우선순위 큐 말고 다른 방법 https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 이 문제의 풀이 계획 보석을 가치는 높고 가치가 같다면 무게가 낮은 순으로 정렬을 한다. 보석을 순회 하면서 넣을수 있는 가방 중에 가장 무게가 낮은 가방을 고르면 된다. 2번이 일반적인 풀이는 우선순위큐를 사용해서 쓸 수 있는 가방을 계속 넣었다 빼줬다 하면서 풀 수 있다. 여기서 나는 이진탐색 + union-find 의 find 알고.. algorithm 2023. 2. 16. 백준 - 1987 ( dfs, backtracking, bitmask ) https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net (0,0) 부터 중복을 체크하면서 탐색하는 전형적인 탐색문제다. 나는 DFS로 접근해서 풀이하였다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[][] m.. algorithm 2022. 12. 8. Optional의 올바른 사용 방법 Null이란? 참조타입 변수에 값이 할당되지 않은 것. Production Java Applications에서 NullPointerException는 가장 많이 발생하는 에러라는 결과도 있었다. 매번 회피 로직을 넣어야 하기 때문에 번거롭고, 컴파일 타임에 에러가 발견되지 않을 수 있기 때문에 리스크가 있다. Optional Null을 다루는 방법으로 jdk 1.8에서 추가된 객체이다. Null을 직접 핸들링하지 않아도 된다. 타입만으로 잠재적으로 null일 수 있는 여부를 나타낼 수 있다. 체이닝을 통한 중단 및 종단처리가 가능하다. - oracle docs API Note: Optional is primarily intended for use as a method return type where th.. java 2022. 7. 25. java는 call by reference 일까 call by value 일까? 처음 파라미터에 전달에 대해서 알게될 때는 call by reference는 주소값을 전달하는 것이고 call by value는 값만 전달하여 파라미터로 전달 받으면 값을 수정해도 호출한 메소드에서는 영향이 없는 것으로 어렴풋이 알고 있었어서 헷갈렸다. 자바는 알다시피 primitive type이 아닌 reference type의 데이터를 보낼 때는 주소값을 전달해서 전달한 데이터의 주소값에 접근하면 얼마든지 수정이 가능하다. 그럼 자바는 call by reference도 되는거 아닌가? 라고 헷갈릴 수 있다. 그럼 reference는 뭐고 value는 뭘까? reference : 참조,참조자 라는 의미이고 말 그대로 변수를 참조하는 녀석이고, 변수에 별명을 붙인다고 표현한다. value는 : 말그대로 .. java 2022. 7. 13. 이전 1 다음