그리디
-
[백준] 2212번: 센서 (Python)Algorithm PS👩🏻💻/백준 2023. 5. 15. 16:37
문제 링크 https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net 풀이 알고리즘 [그리디] 여러 센서의 후보들을 묶는 것으로 생각하면 k개의 묶음을 만들면 된다. 센서를 오름차순하여 좌표 순으로 놓는다. ex. [1, 6, 9, 3, 6, 7] -> [1, 3, 6, 6, 7, 9] 원소간의 차를 표현한 리스트를 만든다. -> diff = [2, 3, 0, 1, 2] 2개의 묶음을 만들기 위해선 1개의 간격을 버리면 된다. -..
-
[백준] 21314번: 민겸 수(Python)Algorithm PS👩🏻💻/백준 2023. 5. 14. 14:29
문제 링크 https://www.acmicpc.net/problem/21314 21314번: 민겸 수 민겸 수 하나가 주어진다. 민겸 수는 대문자 M과 K로만 이루어진 문자열이며, 길이는 3,000을 넘지 않는다. www.acmicpc.net 풀이 풀이 설명 우선 문장에 K 포함 유무에 따라 나뉜다. K가 없는 경우 -> M만 있다는 뜻. result를 바로 구할 수 있다. ex. MMM인 경우 max: 111, min: 100 K가 있는 경우, K를 기준으로 나뉘기 수가 결정되므로 K의 위치를 담은 리스트(k_pos)를 전달해준다. def find_max(k_pos) # max 값을 찾는다. k를 포함하여 $5*10^N$ 꼴로 정리한다. 문장의 끝이 k가 아니라면, m으로 끝난다는 뜻이므로 마지막 k의..