2025/04/04 3

[정글] 알고리즘 특강 (2)

Divide & Conquer분할정복 방식의 대표적인 예 : merge sort둘로 나눔 (나눈 문제들은 원래 문제와 같은 입려값을 가져야 함)각각 정렬합침최댓값 찾기를 분할 정복 방식으로 구현해보자배열 A를 두 부분 배열 A1, A2로 나눔 -> 나눌 때 부분 배열 각각이 다시 최대값 찾는 단계로 재귀호출될 것이라고 생각하기그리고 원래 문제를 다시 생각해봄-> A1의 최댓값, A2의 최댓값 둘 중 더 큰 값이 A의 최댓값이다.슈도코드 :max(a[0...n-1])if n=1 return a[0]mid m2 then return m1 else return m2 //참고 : 재귀호출의 시간 복잡도 : T(n) = 2T(n/2) + O(1) // 재귀호출에서 사용되는 시간 (T로 표현. 인스턴스..

정글/회고 2025.04.04

[정글/회고] 3주차 회고

챗지피티 사용 방법??지피티를 사용해서 코드를 짠다고 해서 내 코드 스타일이 지피티처럼 바뀌는 게 아니다. 관점을 달리하면 지피티는 그냥 도구로 활용되는 거임지피티의 코드를 가져다쓰기 x내가 탐구하고자 하는 부분이나 의문점들을 최대한 상세히 질문할 수 있다는 것이 지피티의 장점이므로 이를 잘 활용하자그러기 위해서는 먼저 내가 그 내용에 대해 잘 알아야 지피티에게 최대한 상세히 물어볼 수 있음멘탈 극복 방법?내 능력의 기대치는 높은데 내 실력이 그 정도에 미치지 못할 때 좌절감이 올 수 있다.나의 현재 능력을 인정하고 앞으로 나아가는 것이 중요진짜 코치님이 이 말씀 해주실 때 혼자 눈물 고였음 이번 주는 정말 힘들었다. 완전 탐색 자체는 어느정도 이해하고 있어서 딱 완전탐색만 하도록 요구하는 문제들은 괜찮..

정글/회고 2025.04.04

[백준/Java] 18405번 : 경쟁적 전염

문제https://www.acmicpc.net/problem/18405 3055번 탈출(https://www.acmicpc.net/problem/3055) 문제와 비슷한 문제가 시험에 나왔다.탈출 문제를 완전히 이해하기 전에 시험을 쳐서 그런지 이 문제 또한 못 풀었다.오늘 풀이하고 집 가야지..풀이문제에서 고려할 점은 여러 개의 바이러스가1초 마다 번호가 작은 순서대로 확산된다는 것이다.k초에 수행되는 것 :'k-1초에 큐에 넣었던 좌표'의 모든 인접 좌표에 대해 bfs 수행단, 바이러스 크기가 작은 좌표부터 차례로 수행해야 함바이러스 크기가 작은 것부터 확산하는 아이디어 :우선순위 큐를 사용해서 좌표를 바이러스 크기 순서대로 꺼내기 :-> 잘못된 방식이다. 바이러스 1을 bfs로 퍼뜨리면서 바이러스 ..

정글/알고리즘 2025.04.04