2025/03 4

[백준] 18352번: 특정 거리의 도시 찾기

문제 파악- 출발점 X에서 특정 거리 K가 걸리는 노드들을 체크하고 마지막에 출력해주기 -BFS 접근 방법-BFS사용해 최단 거리 카운트하기-출발점은 하나이고 단일로 연결 된 노드를 타고 가서 거리를 카운트-거리는 모두 1로 통일(별도의 가중치 없음 파악)-visited를 int[]로 변형 활용하여(토마토 문제처럼) 노드마다 '출발점에서 얼마나 걸렸는지' 적재해주기     코드 구현package org.server;import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedRea..

alorithm/Baekjoon 2025.03.26

JAVA 문법 모음집

배열 중복제거하기(+정렬위한 HashSet사용) 방법: 배열을 HashSet에 담고 다시 배열로 담기구현: HashSet set = Arrays.stream(nums).boxed().collect(Collections.toSet());int[] newArr = set.stream().mapToInt(Integer::intValue).toArray(); //HashSet을 배열에 다시 담기배열의 요소를 stream으로 돌기 위해 Arrays.stream(arr).boxed() 사용, + collect로 다른 자료형으로 모으기  리스트 중복 제거하기(+저장되는 순서 유지 위한 LinkedHashSet사용)방법: 리스트를 LinkedHashSet에 담고 다시 리스트로 담기구현:Set toSet = new Li..

alorithm 2025.03.22

[백준] 2468번: 안전 영역

문제 파악- 친구의 친구까지만 구하기 -완전 탐색 접근 방법-안전 영역이 '최대'가 되는 경우를 구해내기-단순 주어진 강수량 이하를 기준으로 dfs(완전탐색)하는 문제가 아님-모든 강수량의 case를 탐색해야 함    -탐색 범위는 지역 최대 높이까지(강수량 최대 case)   코드 구현package org.server;import java.io.*;import java.util.*;public class Main { static boolean[][] visited; static int[][] ground; static int N; public static void main(String[] args) throws IOException{ BufferedReader br =..

alorithm/Baekjoon 2025.03.19

[백준] 5567번: 결혼식

문제 파악- 친구의 친구까지만 구하기 -그래프 이론-그래프 탐색-너비 우선 탐색 접근 방법-특정 레벨까지만 탐색해야 하므로 완전탐색X BFS접근을 사용해야 한다.-'친구의 친구'까지라고 명시되어있기 때문에 lev2까지 탐색한다고 힌트를 얻을 수 있음  코드 구현package org.server;import java.io.*;import java.util.*;public class Main { static boolean[] visited; static int N; static Map> graph; static int cnt=0; public static void main(String[] args) throws IOException{ BufferedReader br =..

alorithm/Baekjoon 2025.03.18