[백준] 1920 수 찾기 | 이분탐색, 해시 | 실버 Ⅳ | JAVA
·
코딩 테스트 일지 📒
시간 복잡도 분석이진 탐색 방법:배열 정렬: O(Nlog⁡N)배열 BBB의 각 원소에 대해 이진 탐색: O(Mlog⁡N)총 시간 복잡도: O((N+M)log⁡N)HashSet 방법:HashSet 저장: O(N)배열 BBB의 각 원소 탐색: O(M)총 시간 복잡도: O(N+M)⭐ 정답코드✅ 이진 탐색 이용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)); StringBuilder sb = ne..
[알고리즘/JAVA] DFS와 BFS
·
코딩 테스트 일지 📒
⭐ DFS와 BFS란 무엇인가? DFS (Depth-First Search, 깊이 우선 탐색): 그래프나 트리에서 한 경로를 끝까지 탐색하고, 더 이상 탐색할 노드가 없으면 다시 이전 노드로 돌아와 다른 경로를 탐색합니다. 깊이 방향으로 탐색하는 방식이므로, 스택이나 재귀를 사용하여 구현됩니다.BFS (Breadth-First Search, 너비 우선 탐색): 시작 노드에서부터 인접한 노드를 먼저 탐색한 후, 다시 그 인접 노드의 인접 노드들을 탐색하는 방식입니다. 주로 큐를 사용하여 구현됩니다. ⭐ DFS와 BFS의 차이점특징DFSBFS탐색 방식깊이 우선, 한 경로를 끝까지 탐색너비 우선, 인접한 노드를 모두 탐색자료 구조스택(재귀로 구현 가능)큐경로 탐색가능한 경로를 빠르게 찾음최단 경로 탐색에 유리..
[백준] 10814 나이순 정렬 | 정렬 | 실버 Ⅴ | JAVA
·
코딩 테스트 일지 📒
📌 문제https://www.acmicpc.net/problem/10814 ⏹ 정답 코드import java.io.*;import java.util.*;public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringBuilder sb = new StringBuilder(); StringTokenizer st; ..
[프로그래머스] 여행 경로 | DFS, BFS | Level.3 | JAVA
·
코딩 테스트 일지 📒
📌 문제https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  ⭐ 알고리즘 선정 : DFS? or BFS?이 문제는 DFS(Depth-First Search)로 해결하는 것이 적합합니다. 그 이유는 다음과 같습니다:문제의 특징모든 항공권을 사용해야 한다: 주어진 항공권을 모두 이용하여 경로를 구성해야 하므로, 가능한 모든 경로를 탐색해야 합니다.경로의 알파벳 순서: 여러 경로 중 알파벳 순서가 가장 앞서는 경로를 선택해야 하므로, 깊이 탐색하면서 정렬..
[시스템 아키텍처] 컨테이너화: 현대 소프트웨어 배포의 혁신
·
코딩 테스트 일지 📒
최근 소프트웨어 개발 분야에서 "컨테이너화"라는 용어가 자주 등장하고 있습니다. 그럼 과연 컨테이너화란 무엇이며, 어떤 이점이 있는지 살펴보도록 하겠습니다. ⭐ 컨테이너화란?컨테이너화는 애플리케이션의 코드와 필요한 모든 파일 및 라이브러리를 하나의 패키지로 묶어 여러 환경에서 실행할 수 있도록 하는 소프트웨어 배포 방법입니다.전통적으로 애플리케이션을 실행하기 위해서는 각 운영 체제에 맞는 버전을 별도로 설치해야 했지만, 컨테이너화를 통해 모든 운영 체제에서 동일한 컨테이너를 실행할 수 있습니다. ⭐ 컨테이너화의 이점컨테이너화를 통해 소프트웨어 개발자들은 다음과 같은 여러 가지 이점을 누릴 수 있습니다:1. 이동성컨테이너화를 활용하면 개발자는 애플리케이션 코드를 다시 작성할 필요 없이 여러 환경에 쉽게 배..
[백준] 1260 DFS와 BFS | 그래프, DFS, BFS | 실버 Ⅱ | JAVA 💡뼈대 문제
·
코딩 테스트 일지 📒
📌 문제https://www.acmicpc.net/problem/1260 ⭐ 정답코드import java.io.*;import java.util.*;public class Main{ static boolean[][] a; static boolean[] visited; static StringBuilder sb = new StringBuilder(); static int n; static Queue q = new LinkedList(); public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Buff..
[백준]1697 숨바꼭질 | 그래프, BFS | 실버 Ⅰ | JAVA
·
코딩 테스트 일지 📒
📌 문제https://www.acmicpc.net/problem/1697 ✅ 정답 코드import java.io.*;import java.util.*;public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int a = Integer.parseInt(st.nextToken()); int b = Integer..
[알고리즘] DFS와 BFS
·
코딩 테스트 일지 📒
⭐ DFS (깊이 우선 탐색)DFS(Depth-First Search)는 시작 노드에서 깊이 들어가 최대한 멀리 가다가 더 이상 갈 수 없게 되면, 이전 노드로 돌아와서 다른 경로를 탐색하는 알고리즘입니다.이 과정에서 스택(Stack)을 사용하거나 재귀 호출을 통해 구현됩니다.DFS는 LIFO(후입선출) 방식으로 작동하여, 나중에 들어간 노드가 먼저 나오게 됩니다.주로 경로 탐색, 모든 경우의 수 탐색 등에 사용됩니다.✅ 구현 방법1️⃣ 스택스택을 이용한 DFS 구현은 다음과 같이 할 수 있습니다. 노드를 방문할 때마다 스택에 추가하고, 더 이상 갈 수 없는 경우에는 스택에서 팝(pop)하여 이전 노드로 돌아갑니다.import java.util.*;public class DFSStack { priv..
[프로그래머스] 타겟 넘버 | DFS, BFS | Level.2 | JAVA
·
코딩 테스트 일지 📒
📌 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🌞 정답 코드class Solution { int answer = 0, sum = 0; public void dfs(int[] numbers, int target, int index, int sum){ index++; if (index==numbers.length){ if(sum==target) answer++; return; } else { dfs(numbers, ..
[프로그래머스] 네트워크 | DFS, BFS | Level.3 | JAVA
·
코딩 테스트 일지 📒
📌 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 📒 정답 코드class Solution { public void dfs(int node, int[][] computers, boolean[] visit){ visit[node] = true; for (int i = 0; i ⭐ 코드 설명✅ 방문 기록DFS는 특정 노드를 시작으로 연결된 모든 노드를 탐색합니다. 여기서 visit 배열은 각 노드가 이미 방문되었는지를 추적합니다.1️⃣ 메인 반복문에서의 체크solution 메서드에서 if (!visit..
코양이🤍
'코딩 테스트 일지 📒' 카테고리의 글 목록 (2 Page)