본문 바로가기
728x90
반응형

전체 글126

[Spring/개념] JSON 파싱하기 보호되어 있는 글 입니다. 2024. 9. 23.
[백준/2178] 미로 탐색하기 (BFS) [문제]N×M크기의 배열로 표현되는 미로가 있다.101111101010101011111011미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다.첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. 첫째 줄에 지나야 하는 최소의 칸 수를 출력한다. 항상 도착위치로 이동할 수 있는 경우만 입력으로 주어진.. 2024. 9. 19.
[개념] 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS) 깊이 우선 탐색(DFS: Depth-First Search)와 너비 우선 탐색(BFS: Breadth-First Search)는 대표적인 그래프 노드 탐색 알고리즘으로 둘 다 트리와 같은 그래프 구조에서 데이터를 탐색하는 방식이다.   [깊이 우선 탐색(DFS)]1. 개념그래프 완전 탐색 기법 중 하나로 스택 자료구조를 사용하여 깊이를 우선적으로 탐색하는 알고리즘으로 시작 노드에서 출발하여 탐색할 한 쪽 분기를 정하고, 최대 깊이까지 탐색을 마친 후 다른 쪽 분기로 이동하여 다시 탐색을 수행하는 방식이다. - 자기 자신을 호출하는 순환 알고리즘 형태를 지니고 있어 재귀 함수로 구현이 가능하다.*실제 구현 시 재귀 함수를 이용하므로 스택 오버플로에 유의해야 한다.- 그래프 탐색 시 어떤 노드를 방문했었는지.. 2024. 9. 12.
[백준/11724] 연결 요소의 개수(DFS) [문제]방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오.첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어진다.첫째 줄에 연결 요소의 개수를 출력한다.ex.6 5 1 2 2 55 13 44 6결과 = 2 [풀이]import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java... 2024. 9. 12.
[개념] 정렬 알고리즘 1. 배열 정렬하기 위한 내장 메서드(java.util.Arrays) 1) Arrays.sort(Array) : 기본 유형 또는 객체의 배열을 오름차순으로 정렬2) Arrays.sort(Array, fromIndex, toIndex) : fromIndex 및 toIndex 매개변수로 지정된 배열의 일부만 정렬3) Arrays.sort(Array, comparator) : Comparator를 사용하여 배열 정렬4) Arrays.parallelSort(Array) : 여러 스레드를 활용하여 배열 병렬로 정렬5) Arrays.parallelSort(Array, fromIndex, toIndex) : 오버로드된 parallelSort 메서드 버전을 사용하여 배열의 특정 요소 범위를 정렬 import java... 2024. 9. 12.
[백준/2750,1427] 수 정렬하기(오름차순 정렬) / 소트인사이드(내림차순 정렬) 1.  오름차순 정렬[문제]N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. [풀이]import java.util.Arrays;import java.util.Scanner;public class Main{//오름차순 정렬 public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt.. 2024. 9. 12.
728x90
반응형