개발용사 준기 Dev Warrior Jungi
close
프로필 사진

개발용사 준기 Dev Warrior Jungi

  • 분류 전체보기 (187)
    • Algorithm (8)
      • 이론 (8)
    • Programmers Coding Test (137)
      • Java (83)
      • MySQL (54)
    • Baekjoon Coding Test (8)
      • Java (7)
    • Interview (6)
    • Project (5)
    • Java (13)
    • Spring (10)
    • DB (0)
      • MySQL (0)
  • 홈
  • 태그
  • 방명록
DFS 깊이 우선 탐색 (재귀방식)

DFS 깊이 우선 탐색 (재귀방식)

DFS 1) DFS란?시작 노드에서 가능한 깊이까지 탐색한 뒤, 더 이상 갈 곳이 없으면 되돌아(backtrack) 하여 다음 경로를 탐색하는 방식입니다.한 방향으로 계속 깊게 파고들며, 재귀 또는 스택(Stack)으로 구현 가능하고, 경로 탐색, 조합 탐색, 미로 문제, 백트래킹 등에 유리합니다. 2) DFS 시간복잡도와 공간복잡도시간복잡도 : O(V + E) V = 정점(노드)의 개수E = 간선의 개수공간복잡도 : O(V) 또는 O(h) V = 정점(노드)의 개수h = 그래프의 최대 깊이 3) DFS 활용분야활용 분야설명경로 찾기특정 노드까지의 경로 유무, 경로 목록 찾기미로 탐색출구가 있는지 확인하거나 모든 경로 탐색백트래킹 문제N-Queen, 순열/조합, 스도쿠 해결 등트리 탐색..

  • format_list_bulleted 이론
  • · 2025. 5. 1.
복잡도

복잡도

복잡도 ( Complexity ) 1) 복잡도란?복잡도는 알고리즘이 문제를 해결하는 데 소요되는 리소스를 추상적으로 측정하는 방법 2) 복잡도의 종류 종류 의미측정 단위시간 복잡도실행에 걸리는 시간연산 횟수공간 복잡도사용하는 메모리 양저장 공간 3) 시간복잡도 (Time Complexity)입력 크기 n에 대해, 알고리즘이 수행하는 연산의 수를 수학적으로 표현한 것입니다.예시아래 코드는 n번 반복하므로 O(n)입니다.for (int i = 0; i 이중 반복문이라 총 n * n번 → O(n²)for (int i = 0; i 4) 공간복잡도 (Space Complexity)알고리즘이 문제를 해결하는 동안 사용하는 메모리 공간의 양예시배열 n개의 공간이 필요 → O(n)int[] arr ..

  • format_list_bulleted 이론
  • · 2025. 5. 1.
BFS 너비 우선 탐색

BFS 너비 우선 탐색

BFS 1) BFS란?Breadth-First Search (너비 우선 탐색)의 약어로그래프 또는 트리 구조에서 루트(시작점)에서부터 가까운 노드부터 차례대로 탐색해 나가는 알고리즘입니다. 탐색 대상의 깊이보다는 너비(수평)를 먼저 탐색한다는 특징이 있습니다.즉, 시작 노드에 연결된 모든 이웃 노드를 먼저 방문하고, 그 다음에는 그 이웃들의 이웃 노드를 탐색하는 방식입니다.BFS는 보통 큐(Queue) 자료구조를 사용하여 구현됩니다. 2) BFS 시간복잡도요소 설명시간 복잡도O(V + E) → V: 정점 수, E: 간선 수공간 복잡도O(V) → 큐와 방문 리스트 저장 용도 BFS는 모든 정점을 한 번씩 방문하고, 각 간선도 한 번씩 확인하기 때문에, 총 연산량은 노드 수 + 간선 수에 비례합..

  • format_list_bulleted 이론
  • · 2025. 4. 30.
개발자 기술면접 대비 - SPRING

개발자 기술면접 대비 - SPRING

질문 리스트 스프링 프레임워크란 무엇인가요?스프링 프레임워크(Spring Framework)자바 플랫폼을 위한 오픈소스 애플리케이션 개발 프레임워크스프링의 두가지 특징IoC (Inversion of Control, 제어의 역전) 객체의 생성과 의존성 관리를 개발자가 직접 하지 않고, 스프링 컨테이너가 대신 관리하는 것 AOP (Aspect-Oriented Programming, 관점 지향 프로그래밍) 핵심 비즈니스 로직과 공통 관심사(로깅, 트랜잭션 관리 등)를 분리하여 개발하는 것 스프링은 이런 기능들을 기반으로 생산성과 확장성 높은 애플리케이션을 쉽게 개발할 수 있도록 지원합니다. * 스프링의 다양한 기술스택 Spring MVC (웹 애플리케이션 개발)Spring JDBC, Spring Data JP..

  • format_list_bulleted Interview
  • · 2025. 4. 16.
개발자 기술면접 대비 - DB

개발자 기술면접 대비 - DB

질문 리스트 RDBMS가 무엇인가요? NoSQL과는 어떻게 다르나요?RDBMS(Relational Database Management System) 테이블(표) 형태로 데이터를 저장하고, 관계(Relation)를 기반으로 데이터를 관리하는 데이터베이스 시스템데이터는 행(Row)과 열(Column) 구조로 표현되며, SQL(Structured Query Language)로 데이터 정의, 조회, 수정, 삭제를 수행합니다. 대표적인 RDBMS에는 MySQL, PostgreSQL, Oracle, MSSQL 등이 있습니다. NoSQL"Not Only SQL"의 줄임말로, 관계형 구조가 아닌 다양한 방식(문서, 키-값, 그래프, 컬럼 기반 등)으로 데이터를 저장하는 데이터베이스NoSQL은 대량의 데이터 처리와 수평..

  • format_list_bulleted Interview
  • · 2025. 4. 12.
개발자 기술면접 대비 - 운영체제

개발자 기술면접 대비 - 운영체제

질문 리스트 쓰레드(Thread)란 무엇인가요?Thread는 프로세스(Process) 안에서 실제 작업을 수행하는 최소 실행 단위입니다.여러 쓰레드가 하나의 프로세스 안에서 메모리를 공유하며 독립적으로 실행됩니다.쓰레드는 가볍고, 병렬 처리와 비동기 작업을 가능하게 만들어 프로그램 성능을 높일 수 있습니다.멀티스레드 환경에서는 어떤 문제가 발생할 수 있나요?1) 경쟁 조건(Race Condition)두 개 이상의 스레드가 동시에 같은 데이터를 읽거나 쓰면서 예상치 못한 결과가 나오는 현상입니다.Ex. 은행 계좌 잔액 업데이트 시 두 스레드가 동시에 출금 요청을 보내서 잔액이 틀어지는 경우.2) 데드락(Deadlock)서로 자원이 잠긴 상태로 스레드들이 영원히 대기하는 상황입니다.Ex. 스레드1이 자물쇠1..

  • format_list_bulleted Interview
  • · 2025. 4. 12.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ···
  • 32
  • navigate_next
전체 카테고리
  • 분류 전체보기 (187)
    • Algorithm (8)
      • 이론 (8)
    • Programmers Coding Test (137)
      • Java (83)
      • MySQL (54)
    • Baekjoon Coding Test (8)
      • Java (7)
    • Interview (6)
    • Project (5)
    • Java (13)
    • Spring (10)
    • DB (0)
      • MySQL (0)
전체 방문자
오늘
어제
Copyright © Dev Warrior Jungi 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.