알고리즘
-
[알고리즘] 백준 16930번 문제 (DFS, BFS)알고리즘 2021. 3. 28. 15:20
www.acmicpc.net/problem/16930 16930번: 달리기 진영이는 다이어트를 위해 N×M 크기의 체육관을 달리려고 한다. 체육관은 1×1 크기의 칸으로 나누어져 있고, 칸은 빈 칸 또는 벽이다. x행 y열에 있는 칸은 (x, y)로 나타낸다. 매 초마다 진영이는 www.acmicpc.net 문제를 읽어보면, 시작점에서 도착점으로 이동하는 최소 시간을 구하라고한다. 이 문제를 읽자 마자 '아하 이건 시작점, 도착점, 최소 시간이라는 키워드를 사용하는걸로 봤을때 너비 우선 탐색(BFS) 문제구나!' 하고 알 수 있어야한다. 이제 이건 알겠고, 그럼 이제 너비 우선 탐색으로 어떻게 코딩을 할 수 있을까를 생각해본다. 깊이 우선 탐색 (DFS) - 루트 노드(혹은 다른 임의의 노드)에서 시작해..
-
[알고리즘] IntelliJ IDEA 코딩테스트 환경셋팅알고리즘 2021. 3. 25. 09:42
STEP 1 인텔리제이 공식사이트에서 Community 로 다운로드 받아준다. www.jetbrains.com/ko-kr/idea/ www.jetbrains.com/ko-kr/idea/download/#section=windows 다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE 최신 버전 다운로드: IntelliJ IDEA (Windows, macOS, Linux) www.jetbrains.com 설치방법은 따로 없다. 실행파일 다운받고 실행해서 초반에 이 화면이 나오면 64bit, JAVA에 체크해주고 계속 Next만 해주면 된다. STEP 2 설치가 끝나면 바로 실행하고 만약 기존에 알고리즘 풀이를 위해 TDD 틀을 만들어뒀다면 Get from VCS ..
-
[알고리즘] Greedy Algorithms 그리디 알고리즘 개념 이해하기알고리즘 2020. 10. 30. 17:21
1 | Greedy 알고리즘의 개념 그리디 알고리즘 (Greedy Algorithms) 은 한국어로 탐욕법, 탐욕 알고리즘라고 부른다. 그리디 알고리즘은 문제를 해결하는 과정에서 순간 순간 최적이라고 생각되는 방법을 찾으면서 결국 최종의 문제 해결로 도달하는것을 말한다. 2 | Greedy 알고리즘의 장점 빠른 계산속도! 그래서 Greedy의 방법이 통하는 문제에서는 최적해를 빠르게 구할 수 있다. 또한 일을 너무 많이해서 문제인 다이나믹 프로그래밍(Dynamic Programming) 과 서로 보완하는 개념으로 알려져 있다. 3 | Greedy 알고리즘이 통하는 문제 유형 1. 활동 선택 문제 (Activity Selection Problem) 시작시간, 종료시간이 주어지고 최대한 많은 작업을 소화할 ..