반응형

전체 글 150

[프로그래머스/Java] K번째수 : Arrays.copyOfRange()

https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ★ Queue를 초기화하지 않으면 찌꺼기 데이터가 들어갈 수 있음1. for문이 시작하자마자 큐를 매번 새로 만들어주거나(queue = new PriorityQueue();)2. 루프가 끝날 때 큐를 비워주(queue.clear();) ★ 정답의 배열의 크기를 아는 상황에서는 stream() 대신 일반배열 쓰기! (효율성 테스트) import java.util.*;class Solution { public int[] solution(int[] ar..

코딩테스트 12:26:00

[프로그래머스/Java] 프로세스 Queue (+PriorityQueue)

https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이import java.util.*;class Solution { public int solution(int[] priorities, int location) { int answer = 0, result = -1; Queue queue = new LinkedList(); for(int i=0; i current[1]){ flag = true; ..

코딩테스트 2026.07.13

[프로그래머스/Java] 게임 맵 최단거리 (BFS)

https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ★ Queue는 q.add() 대기열에 넣는 순간 visited = true 방문체크 해주기!!!! import java.util.LinkedList;import java.util.Queue;class Node{ int x, y, cost; Node(int x, int y, int cost){ this.x = x; this.y = y; this.cost = cost; }}class Solutio..

코딩테스트 2026.07.10

BFS 공부 - 최단 거리 (최소 시간)

★BFS는 Queue 자료구조 사용: 먼저 온 사람이 먼저 나간다 (First In, First Out) ★BFS 실전 뼈대 코드import java.util.LinkedList;import java.util.Queue;class Solution{ static boolean[] visited; public void bfs(int startNode, int[][] graph, int n){ // 대기 명단을 준비한다 Queue queue = new LinkedList(); // 시작점을 큐에 넣고 방문 도장을 찍는다 queue.add(startNode); visited[startNode] = true; ..

코딩테스트 2026.07.10

[프로그래머스/Java] 타겟 넘버 (DFS)

https://school.programmers.co.kr/learn/courses/30/lessons/43165?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1. 기저 조건 (탈출 조건)- 숫자를 다 골랐을 때( index == numbers.length ) 바닥에 도착한 것- 이때 sum == target 이라면 정답 카운트 올린다 2. 재귀 단계 (갈래길 탐색)- 현재 숫자를 더하는 경우 : dfs(index+1, sum+현재숫자)- 현재 숫자를 빼는 경우 : dfs(index+1, sum-현재숫자)class Solution { int answer = 0; public ..

코딩테스트 2026.07.09

DFS 공부

★DFS (깊이 우선 탐색) : 한 우물만 파고 끝까지 내려가는 탐색. 스택(Stack)의 원리나 재귀함수 사용★BFS (너비 우선 탐색) : 내 주변부터 가까운 곳을 넓게 퍼져나가며 탐색. 큐(Queue)의 자료구조 사용. 최단거리는 무조건 BFS 대표 유형 : 경로탐색, 네트워크, 조합 만들기 DFS : 재귀함수BFS : Queue / LinkedList ★ 재귀 함수의 필수 2대 조건★1. 기저 조건(Base Case) : "언제 멈출 것인가?" 를 정하는 탈출 조건 (if 문으로 구현)2. 재귀 단계 (Recursive Case) : 문제를 더 작은 단위로 쪼개서 자기 자신을 다시 호출 1. 인접 행렬노드가 총 3개 있고, 1-2, 1-3 연결된 그래프 (인덱스를 번호와 맞추기 위해 크기를 N+1..

코딩테스트 2026.07.09
반응형