inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

파라매트릭 서치 알고리즘 [문제풀이] : BOJ 2110

백준 2110문제

해결된 질문

109

의성

작성한 질문수 4

0

def is_possible(k): # return True if k이상이 가능하면
	global N, C, arr
	bef_idx = 0
	cnt = 1
	for idx in range(1, N):
		if arr[idx] - arr[bef_idx] >= k:
			bef_idx = idx
			cnt += 1
	return (cnt >= C)

 파라매트릭문제인 2110문제에서

k가 1이라면

cnt는 5가되는거고(예제기준으로)

cnt >= C라는기준이

사용해야하는 공유기 갯수(cnt) 그리고 주어진공유기 갯수(C)로 해석하면

cnt가 C보다 크거나 같으면 주어진공유기보다 많이사용한거니까 false가 나와야하지않나요???

 

그러면

k=1일때는 공유기가3개주어졌는데 5개를써야하는데

k가 2일때부터 설명을 해주셔서 k=1일때의 설명이 없는이유가 궁금합니다

python 코딩-테스트 알고리즘

답변 2

0

알리 Ally

안녕하세요. 의성님!

코드에서 cnt의 의미를 혼동하신것 같습니다.

 

cnt의 의미는 사용해야 하는 공유기 갯수가 아닌, 사용할 수 있는 공유기 갯수입니다.

따라서 사용할 수 있는 공유기의 갯수(cnt)가 C보다 크거나 같으면, 거리가 k이상이 되게끔 공유기을 설치 가능한 것이므로 True를 반환해야 합니다.

예제에서 k=1인 경우에 대해서도, cnt(사용할 수 있는 공유기의 개수)는 5로 C(3)보다 크거나 같으므로 True가 나오는 것입니다.

 

또 궁금하신 점 있으시면 언제든 질문 부탁드립니다.

감사합니다. :)

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

의성님께서 백준 2110 문제에 대해 주신 질문에서 파라매트릭 서치와 관련된 설명이 필요하신 것 같습니다. 수강생 분들께서 비슷한 질문을 한 기록을 찾았습니다. 해당 내용을 참고하시면 도움이 될 것입니다.

관련 링크는 다음과 같습니다:

“BOJ6603질문있습니다!”

  • 이 질문에서는 파라매트릭 서치 문제와 관련된 설명이 포함되어 있습니다. 특히 입력 범위와 조건문에 대한 다양한 이슈들이 다루어지고 있습니다.

의성님이 업로드하신 함수 is_possible(k) 는 공유기 설치 문제에서 k 이상의 간격으로 공유기를 설치할 수 있는지 여부를 검사하는 함수입니다. 말씀하신 것처럼, cnt >= C가 참이라면 k 간격으로 C개 이상의 공유기를 설치할 수 있다는 것인데, 이는 곧 주어진 조건을 만족한다는 의미입니다.

추가적인 설명:

  • is_possible 함수는 cntC보다 크거나 같을 때 True를 반환하게 되어 있습니다. 이는 곧 주어진 갯수©만큼의 공유기를 k 간격으로 설치할 수 있음을 의미합니다.
  • k = 1인 경우, cnt가 3을 넘기 때문에 공유기 설치가 가능한 것입니다.

아래는 추가적으로 도움이 될 수 있는 링크입니다:

“저.. 시간복잡도 관련 질문입니다.(로직 거의 비슷한 거 같은데, 시간초과가 나서요)”

  • 시간 복잡도와 관련된 문제 해결 방법을 다룬 질문입니다. 알고리즘을 최적화하는 데 참고할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Iterable 관련 설명 중 의문점

1

74

1

DP 알고리즘 index 0 이유?

0

80

2

백준에서 queue.PriorityQueue() 사용 시 런타임에러가 납니다.

0

78

2

(시간 초과) BOJ 1342 관련하여 질문이 있습니다

1

80

2

BFS, DFS

0

105

2

이중연결리스트에 관한 수업 내용도 있을까요?

0

98

1

영상에서 설명이 잘못됐고 자막이 맞는 내용이라고 자막에 표기

0

113

2

최대값 int(1e6, 1e7, 1e8) 기준

0

273

2

섹션 3 BOJ 1342 //= 연산자 관련

0

88

3

라이브러리 사용

0

118

2

2번 구현 방법 질문 있습니다.

0

168

1

브루트 포스 풀이

0

144

2

다익스트라 음수 간선

0

160

1

종료 조건

0

118

2

BOJ 1342 메모리초과 관련

0

123

2

진짜 엄청나네요. 이 가격에 새로운 컨텐츠 추가라니

0

216

1

섹션3 브루트포스 알고리즘 1342 풀이1 질문

0

152

2

boj 3020

0

128

1

강의 내용 중 백트래킹 존재 여부

0

156

1

제가 공부하는 방법이 괜찮은지 궁금합니다

1

264

2

DP 11053관련 질문있습니다.

0

122

1

17609 투포인터 문제를 재귀로 풀 경우가 궁금합니다!

0

138

3

3020번 풀이 코드관련 질문있어요

0

172

2

재귀 관련 문제 관찰할 때 질문

0

198

1