본문 바로가기

CS+PS/Algorithm14

[알고리즘]그리디 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 🧤 그리디(탐욕법)이란? ⇒ 나머지 경우의 수를 다 제쳐두고 가장 최선의 방법 한개만 파고 들어서 문제를 푸는 방법이다. 예를 들면 최소동전 문제가 있다. (ex. 동전으로 1400을 만들때 동전을 가장 적게 쓰는 경우의 수 찾기) ⇒ 매 순간 가장 좋아보이는 방법을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다. 💡 그리디문제는 이 문제가 그리디인가? 반례가 있는것은 아닐까? 라는 고민하는 것이 가장 어렵다고 한다. 그래서 끊임없이 이 문제를 그리디로 풀 수 있는지, 반례가 있을지 없을지 고민하는것이 정상이라고 한다. 그리디 알고리즘 문제는 자주 정렬 알고리즘과 짝을 이뤄 출제된다. 대표적인 문제 유형이 "거스름돈을 동전으.. 2023. 9. 11.
[브루트포스][백준]1018-체스판 다시 칠하기 체스판 다시 칠하기 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 103387 51258 41039 49.647% 문제 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 이 정의를 따르면 체스판을 색칠하는 경우는 두 가지뿐이다. 하나는 맨 왼쪽 위 칸이 흰색인 경우, 하나는 검은색인 경우이다. 보드가 체스판처럼 .. 2023. 9. 10.
[DP][백준] 9095 - 1, 2, 3 더하기 + DP 에 대해서 생각해보기... dp 문제는 구현에서 애를 먹지 않는다. 그럼 dp에서 중요한 부분은 무엇이냐... 바로 아이디어와 발상이다! 그리고 제일 중요한 부분은 이 문제가 DP 문제인지 알아 차리는 것이다!!! 요즘 dp 문제를 중점적으로 풀어보고 있는데, 앞의 항과 뒤에 항의 연관성이 있는지 살펴보고 연관성이 있으면 dp문제라고 거즌 생각하고 푼다! 이렇게 앞의 항과 뒤의 항 사이에 연관성이 있는것을 점화식이 있다! 라고 나는 표현한다. 동적계획법(DP)은 문제를 쪼개서 작은 문제의 답을 구하고, 그걸로 더 큰 문제의 답을 구하는것을 반복하는 분할정복과 비슷하다고 생각한다. 이 문제가 DP 문제라는것을 알아챈 이후에는, 이 문제의 점화식을 찾고 구현해내면된다! 구현 방법으로는 두가지가 있다. Top-down : 재귀(함수)를.. 2023. 7. 31.
예외처리 2023. 7. 3.