알고리즘별 용도 및 목표

2025. 12. 9. 10:27·4학년/알고리즘 문제풀이
728x90
반응형

문제 풀면서 ' 이 알고리즘은 이런 용도로 사용되는구나 ' 습득한 내용들을 정리해보자

 

📌BFS : 가중치가 1일 때 최단 경로를 찾을 때 사용한다.

visited 필요
종료 조건 설정
queue 사용

 

📌DFS : 백트래킹 혹은 존재 여부 판단에 사용된다.

존재 여부라고 했을 때는 주로 '조합 찾기' 로 사용된다.

=종료 조건=

for 모든 i에 대해
> 넣고
> Search
> 뺀다 (그러고 다음 i로 넘어감)

 

📌플로이드 - 워셜 : 모든 노드에 대해서 관계를 파악

각 노드와의 관계를 파악하는 것에 사용한다.

for k in range(1, n+1) :
    for i in range(1, n+1) :
        for j in range(1, n+1) :
            graph[i][j] = min(graph[i][j], graph[i][k] + graph[k][j])
            > '그냥 나한테 직진으로 가는 거 vs k 거쳐서 가는 거'

 

같은 수업 들으시는 코딩짱짱맨의 발표 자료


 

📌DP : 이전에 계산했던 값을 기반으로 현재 값을 계산하는 방식

기저 설정
점화식 세우기 
ex) min(이전 DP값 + 추가 가중치 , 그냥 현재 값)

 

📌그리디 :  Optimal SubProblem으로 나누어 최적의 해를 구하는 것

1. Subproblem으로 나누기 좋게 정리
2. 조건에 맞게 최적의 해 구하기

 

 

📌이분 탐색 : 값이 정렬되어 있는 상태, 전체 범위에서 절반씩 줄여가며 원하는 값을 탐색한다. 

정렬
중간값 설정
> 원하는 값 vs 중간 값
  원하는 값이 더 크다면 왼쪽은 버리고 오른쪽 구간에서 절반 나눠서 다시 탐색
  그렇지 않다면 왼쪽 구간에서 절반 나눠서 탐색
  
  [ 언제까지 ? ]
  오른쪽 값이 왼쪽보다 클 때 or 중간 값 == 원하는 값

 

📌문자열 관련 문제 : 문자를 찾거나 없애거나 하는 게 많음

스택이나 List 자료구조를 많이 쓴다.

담고 / 특정 크기만큼 검사하고

 


 

 

 

 

현재 목표는 4다

3정도는 온 듯

반응형

'4학년 > 알고리즘 문제풀이' 카테고리의 다른 글

68. 백준 : A → B  (0) 2025.12.11
67. 백준 : Z  (0) 2025.12.10
66. 백준 : 색종이 만들기  (0) 2025.12.08
65. 백준 : 벽 부수고 이동하기  (1) 2025.12.04
64. 백준 : 행렬 곱셈 순서 (지금까지 한 거 중에 제일 어려운 듯)  (0) 2025.12.03
'4학년/알고리즘 문제풀이' 카테고리의 다른 글
  • 68. 백준 : A → B
  • 67. 백준 : Z
  • 66. 백준 : 색종이 만들기
  • 65. 백준 : 벽 부수고 이동하기
쫑알bot
쫑알bot
주로 복습 / Translator
  • 쫑알bot
    오래 못 할 짓 하지 않기
    쫑알bot
  • 전체
    오늘
    어제
    • 전체 (801)
      • 취약점 분석 (3)
        • AI 다루기 (8)
        • 분석 (0)
      • 보안 및 모의해킹 (143)
        • CTF (Capture The Flag) (91)
        • 사례_솔루션 (7)
        • 개발자라면 (4)
        • 정보보안기사 (8)
        • 악성코드 분석 (29)
      • Security Tool Making (29)
        • Exploit 자동화 ( Automated Exp.. (14)
        • NLP based Deobfuscator (15)
      • 4학년 (144)
        • 알고리즘 문제풀이 (81)
        • 캡스톤 (Capstone) (14)
        • 데이터 과학 ( Data Science ) (18)
        • IoT 실습 (15)
        • Computer Vision (15)
        • 공학윤리 (1)
      • 사진 (14)
        • [1] 빈티지 카메라 (14)
      • 3학년 2학기 (85)
        • 네트워크 (Network) (49)
        • 컴퓨터 보안(Computer Security) (21)
        • 암호학(Cryptography) (6)
        • [ 학회 ] 금융ㆍ경제 (9)
      • 공부 외 (75)
        • 기록 (18)
        • 영화 (16)
        • 조향사 (9)
        • 책 (32)
      • 3학년 1학기 (106)
        • 운영체제 (OS) (48)
        • 데이터베이스(DB) (30)
        • 알고리즘 (Algorithm) (28)
      • 프로젝트 (0)
        • 멋쟁이 사자처럼 (0)
      • 웹 보안 (5)
        • 웹 개발자가 알아야하는 보안 기초 (4)
      • 2학년 2학기 (95)
        • 컴퓨터 구조 (49)
        • 웹서비스 제작 (11)
        • 기독교 변증학 (15)
        • 이산수학 (20)
      • 2학년 1학기 (67)
        • 데이터 구조 ( Data structure ) (22)
        • 논리 설계 ( Logic design ) (26)
        • 오픈소스 소프트웨어 ( OSS ) (12)
        • JAVA (7)
      • 혼자하기 (21)
        • 웹 프로젝트 1) 뉴스 (5)
        • React (4)
        • 연습 1) OAuth (12)
      • 별 용도없음 (0)
        • 과제 중간단계 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다이나믹프로그래밍
    보안분석
    해킹
    MCP
    티스토리챌린지
    파이썬
    윈도우
    스택
    분석
    악성코드
    모델튜닝
    DP
    어셈블리어
    ollama
    알고리즘
    LLM
    Claude
    후킹
    악성코드분석
    백준
    오블완
    PE_File
    리버싱
    디버기
    DLL
    뉴스요약
    AI
    코딩테스트
    보안
    LangChain
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
쫑알bot
알고리즘별 용도 및 목표
상단으로

티스토리툴바