Java 7

백준 2644번 : 촌수계산 자바

🧫 문제 분석 ✔️ 출처촌수계 실버 2 📖 문제 bfs는 가중치가 같으면 항상 최단거리이다.그래프는 연결되어있기에 어디에서 시작하든지 가중치가 같다면 거리는 같다. (양방향 한정)BFS는 재귀로 구현하지 못한다. 처음에는 진입 경로가 0인 최상위 부모를 찾아서 위에서부터 DFS 탐색으로 깊이를 측정하며 x와 y를 구했다.부모와의 관계를 문자열로 저장하고 각 각 비교하면서 촌수를 따졌는데 이렇게하면 너무 오래걸리고, 이상하게 중복이 생겼다. 푸는 방향이 잘못되었던 것이다. 이 문제에서 원하는건 그래프와 넓이 탐색에 대한 개념을 잘 이해하는지를 물어보는 문제였고 나는 제대로 이해하지 못했어서 이상하게 풀이를 시작한 것이다.  잘 기억하자.   🔅 문제 풀이import java.io.*;import ja..

Lambda & Stream

✔️ lambda(람다)람다식은 메서드로 전달할 수 있는 익명 함수를 단순화한 코드 블록() -> {}() : 파라미터-> : 화살표{} : 실행문람다식은 함수 자체를 전달 인자로 보내거나 변수에 저장하는 것이 가능람다식에서 타입이 예측가능하다면 생략 가능특정 람다식을 사용하여 변수에 담는데 그 변수의 타입은 함수형 인터페이스 타입이다.함수형 인터페이스 : 하나의 추상 메서드를 갖는 인터페이스함수 디스크립터 : 함수형 인터페이스의 추상 메서드 시그니처메소드 시그니쳐 : 메소드의 이름 + 메소드의 파라미터 + 파라미터의 수  함수형 인터페이스함수 디스크립터 기본형 특화 PredicateT -> booleanIntPredicate, LongPredicate, DoublePredicateConsumerT ->..

JAVA 2024.08.17

Optional<T>

✔️ Optional이란 ?Optional은 NullPointException 발생 방지를 위해 사용 Java8Optional는 null 이 올 수 있는 값을 감싸는 Wrapper 클래스  ✔️ null 체크기존에는 if문을 사용해서 null 체크List list = store.get("itemName");if ( list == null) { log.info("없는 상품"); // 처리 }public final class Optional { /** * 빈 optional을 공통객체로서 가지고 있다. */ private static final Optional EMPTY = new Optional(null); /** * null이 아닐 경우 값이 담기고, nul..

JAVA 2024.08.17

백준 13549번 : 숨바꼭질 3 자바

🧫 문제 분석 ✔️ 출처숨바꼭질 3 골드 5 📖 문제 bfs는 가중치가 같으면 항상 최단거리이다. x - 1, x + 1, x * 2 로 x가 k가 될 때까지 이동한다.n >= k 일 시 (x - 1) 로만 k로 갈 수 있기에  이를 고려한다. 정답 : n - kn과 k 는 0 ~ 100,000 사이이다. x - 1, x + 1, x * 2 인 노드를 bfs로 x(수빈)이가 k(동생)을 찾을때까지 반복하여 탐색한다.   🔅 문제 풀이import java.io.*;import java.util.*;public class Main { static class Node { int cur, cost; public Node(int next, int cost) { ..

백준 2164번 자바 : 카드2

백준 2164번 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제 풀이 카드 번호 1 2 3 ... N-2 N-1 N 특정 동작 카드가 한 장 남을때까지 반복 1) 제일 위 카드를 바닥에 드랍 2) TOP 카드를 BOTTOM 카드 밑으로 이동 각 동작 후 남은 카드 개수 확인 목표 : 제일 마지막에 남는 카드를 구하기 조건 (1

백준 2751 자바

백준 2751번 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 문제 풀이 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new Outp..

baekjoon 2023.11.03

백준 4673 자바

백준 4673번 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 문제 풀이 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = 10000; boolean[..

baekjoon 2023.11.03