본문 바로가기

그리디2

[백준 2212번] 센서 문제 풀이 문제가 이해되지 않아 계속 읽었다.. 결론적으로 센서는 같은 위치에 있을 수 있고, 센서의 수신 가능 영역이 0일 경우, 센서와 집중국의 위치를 같은 위치에 놓으면 된다. 따라서, 이 문제는 센서 사이의 거리를 가장 줄일 수 있도록 하면 수신 가능 영역의 합이 최소가 되므로, 센서 사이의 거리를 정렬한 뒤 가장 긴 거리를 K개 만큼 줄이면 된다. (K 개의 연결을 끊어주는 것!) import sys input = sys.stdin.readline n = int(input()) k = int(input()) sensor = list(map(int,input().split())) sensor.sort() dist = [] for i in range(n-1).. 2023. 9. 25.
[백준 2195번] 문자열 복사 문제 풀이 모든 경우를 확인하기 위해서 시작 인덱스와 끝인덱스를 설정해서, 시작 인덱스부터 끝 인덱스까지의 문자열이 P문자열에 있을 경우 끝 인덱스를 늘려주고, 더이상 문자열이 같지 않다면 결과값(copy의 횟수)을 하나 올려준 후, 시작 인덱스의 위치를 끝 인덱스 다음의 위치로 배치해주었다. 이전에 풀었던 그리디 문제와 비슷해서 이러한 흐름으로 문제를 푸는 것은 어렵지 않았으나, 구현하는 부분에서 애를 먹었다. s = input() p = input() result = 0 start, end = 0,0 #시작 인덱스와 끝 인덱스 초기화 while True: if start == len(p): #p 문자열 탐색이 끝난 경우 break for i in range(l.. 2023. 9. 24.